Android 如何使我的listview可单击并在单击时打开新活动?

Android 如何使我的listview可单击并在单击时打开新活动?,android,listview,clickable,Android,Listview,Clickable,我对android非常陌生,我做了一个列表视图。但我不知道如何使listview可单击,并在单击列表中的任何项目时打开一个新活动。我很抱歉,如果这是回答之前,任何帮助将不胜感激。我的代码: public class MainActivity extends Activity { private ListView mainListView ; private ArrayAdapter<String> listAdapter ; /** Called wh

我对android非常陌生,我做了一个列表视图。但我不知道如何使listview可单击,并在单击列表中的任何项目时打开一个新活动。我很抱歉,如果这是回答之前,任何帮助将不胜感激。我的代码:

public class MainActivity extends Activity {  

  private ListView mainListView ;  
  private ArrayAdapter<String> listAdapter ;      

/** Called when the activity is first created. */  
  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);    
    mainListView = (ListView) findViewById( R.id.mainListView );

    String[] converters = new String[] { "1", "2", "3", "4",
                                         "5", "6", "7", "8"};

    ArrayList<String> itemsList = new ArrayList<String>();  
    itemsList.addAll( Arrays.asList(converters) );  
    listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, itemsList);

    listAdapter.add( "9" );  
    listAdapter.add( "10" );  
    listAdapter.add( "11" );  
    listAdapter.add( "12" );  
    listAdapter.add( "13" );  

    mainListView.setAdapter( listAdapter );        
    }  
}  
public类MainActivity扩展活动{
私有ListView主ListView;
专用阵列适配器列表适配器;
/**首次创建活动时调用。*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainListView=(ListView)findViewById(R.id.mainListView);
字符串[]转换器=新字符串[]{“1”、“2”、“3”、“4”,
"5", "6", "7", "8"};
ArrayList itemsList=新的ArrayList();
itemsList.addAll(Arrays.asList(converters));
listAdapter=newarrayadapter(this,R.layout.simplerow,itemsList);
添加(“9”);
添加(“10”);
添加(“11”);
添加(“12”);
添加(“13”);
mainListView.setAdapter(listAdapter);
}  
}  

在您的情况下,使用
ListActivity
帮助程序而不是扩展的
Activity
可能是最好的选择。然后,您可以实现了解用户何时点击列表中的任何内容,并执行常规的
startActivity()
以继续下一个操作。

在mainListView.setAdapter(listAdapter)之后;尝试添加以下内容:

mainListView.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> listView, View item, int position, long id) {

        startActivity(new Intent(this, "Your Desired ClassName".class);
    }
}
listAdapter.notifyDataSetChanged();
mainListView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView列表视图、视图项、整型位置、长id){
startActivity(新的意图(这是“你想要的类名”);
}
}
listAdapter.notifyDataSetChanged();
别忘了导入

android.widget.AdapterView.OnItemClickListener;

如果不编写notifyDataSetChanged,则可能无法在ListView中获得任何内容

我希望你得到你的答案

请参考帖子