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);
:-)
答
试试这样说:
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=false
和clickable=false
。
感谢贝托克,我已经加入这一行,但它仍然犯规call..Infact里面什么都没有了onItemSelected被称为.. – BodhiByte
嗯,你有没有尝试使用OnItemClickListener(setOnItemClickListener)而不是OnItemSelectedListener? –
我试过这种方法,但无法让它运作! – BodhiByte