我正在使用此代码:
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
@SuppressWarnings("unchecked")
HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);
Intent intent = new Intent(TestActivity.this, TestDetailActivity.class);
intent.putExtra("id_card", o.get("id_card"));
intent.putExtra("card_title", o.get("card_title"));
intent.putExtra("card_number", o.get("card_number"));
startActivity(intent);
}
});
我正在使用HashMap<String, String> o = (HashMap<String, String>)
获取一些我将有意传递给另一个 Activity 的值。
当我使用 ListActivity
时它有效但我不知道如何在 Activity 中实现它,请帮助我。
最佳答案
因为getListView()是 ListActivity 的方法
这意味着当您使用
final ListView lv = getListView();
ListView 将使用 super
进行初始化,而您的简单 Activity
类不包含任何 ListView。
ListActivity-> ListActivity 托管一个可以绑定(bind)到不同数据源的 ListView 对象
要在 Activity 类中使用相同的内容,您必须使用显式 ListView 并使用 ID 进行映射
<ListView android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
现在你可以像这样初始化了
final ListView lv = (ListView) findViewById(R.id.list_view);
关于java - 将数组值添加到 Activity 中的 OnItemClickListener(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14017836/