我正在尝试我的书中给出的列表视图示例之一,但即使我已逐行跟踪代码行方法listView.setOnItemClickListener(this),也无法正常工作。这是代码,
public class ViagemListActivity extends ListActivity implements OnItemClickListener {
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, listarViagens()));
ListView listView = getListView();
listView.setOnItemClickListener(this);
}
private List<String> listarViagens() {
return Arrays.asList("São Paulo", "Rio de Janeiro", "Santa Catarina");
}
@Override
public void onItemClick(AdapterViewCompat<?> parent, View view, int position,
long id) {
TextView textView = (TextView) view;
String mensagem = "Viagem selecionada: " + textView.getText();
Toast.makeText(getApplicationContext(), mensagem,
Toast.LENGTH_SHORT).show();
startActivity(new Intent(this, GastoListActivity.class));
}
}
请帮忙,
答案 0 :(得分:1)
问题是ListActivity
基类不使用OnItemClickListener
来指示按下的内容(因此implements OnItemClickListener
和覆盖onItemClick
无效)。相反,您需要覆盖onListItemClick()
(请参阅此处的文档:http://developer.android.com/reference/android/app/ListActivity.html)