如何在android中使用listview切换到另一个活动

时间:2014-10-11 17:37:56

标签: android listview android-intent

我正在尝试使用listview通过点击它的项目来启用另一个活动,但我不能#39;我刚刚收到错误。 这是代码。

package com.example.listview;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {

 ListView listView ;

String[] value = {"firstactivity", "secondactivity"};
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  ArrayAdapter adapter = new ArrayAdapter<String>(this, 
  R.layout.activity_listview, value);

  ListView listView = (ListView) findViewById(R.id.activity);
  listView.setAdapter(adapter);
  }
}

2 个答案:

答案 0 :(得分:0)

我不确定您的ArrayAdapter第二个参数,您可以尝试:

ArrayAdapter adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, value);

第二个参数定义列表中每个元素的布局。 (在这种情况下是一个简单的项目)。

然后你应该在列表上设置一个项目点击监听器:

listView.setOnItemClickListener(new OnItemClickListener() {
 void onItemClick(AdapterView<?> parent, View view, int position, long id)
 {
  if(position == 1)
   //start activity 1
  else if(position == 2)
   //start activity 2
 }
});

开始使用活动:

Intent intent = new Intent(this, <your activity class here>.class);
startActivity(intent);

答案 1 :(得分:0)

这会对你有所帮助

  // Create adpater
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
               android.R.layout.simple_list_item_1, android.R.id.text1, value);

  // Assign adapter to ListView
        listView.setAdapter(adapter); 

  // ListView Item Click Listener
        listView.setOnItemClickListener(new OnItemClickListener() {

              @Override
              public void onItemClick(AdapterView<?> parent, View view,
                 int position, long id) {

               // ListView Clicked item index
               int itemPosition     = position;

               // ListView Clicked item value
               String  itemValue    = (String) listView.getItemAtPosition(position);

                Intent intent = new Intent(this, <your activity class here>.class);
                startActivity(intent);

              }

         }); 
相关问题