Android:开始一个新的活动onListViewItem点击

问题描述:

我有一个活动包含基本的ListView。该功能的工作原理如下:Android:开始一个新的活动onListViewItem点击

单击列表视图项目 - >获取列表视图项目名称 - >通过意图传递名称并开始新的活动。

除了开始新的活动以外,一切正在运行。它只是没有反应,我不明白为什么。我真的很感激一双额外的眼睛来看看这个。

listView = getListView(); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foodNames); 
listView.setAdapter(adapter); 

listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    public void onItemSelected(AdapterView parentView, View childView, int position, long id) { 

     TextView tv = (TextView) listView.getSelectedItem(); 
     String value = tv.getText().toString(); 

     Log.v("DEBUG","Name of item clicked" + value); 

     Intent intent = new Intent(childView.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 

    } 

    public void onNothingSelected(AdapterView parentView) { 
    } 
}); 

我认为你缺少线

startActivity(intent); 

:-)

+0

感谢贝托克,我已经加入这一行,但它仍然犯规call..Infact里面什么都没有了onItemSelected被称为.. – BodhiByte

+0

嗯,你有没有尝试使用OnItemClickListener(setOnItemClickListener)而不是OnItemSelectedListener? –

+0

我试过这种方法,但无法让它运作! – BodhiByte

试试这样说:

listView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, 
     int position, long id) { 
     Intent intent = new Intent(view.getContext(), FoodItemActivity.class); 
     intent.putExtra("FoodName", value); 
     startActivity(intent); 
    } 
}); 

这将解决你的问题,如果仍然出现问题,然后确认所有子控件都是focusable=falseclickable=false