我正在使用此代码:
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>)
获取一些我将传递给另一个有意图活动的值。
当我使用ListActivity
但我不知道如何在Activity中实现它时,它可以帮助我。
答案 0 :(得分:3)
这意味着您何时使用
final ListView lv = getListView();
ListView将使用super
初始化,而您的简单Activity
类不包含任何ListView。
ListActivity-&GT; ListActivity托管可绑定到不同数据源的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);
答案 1 :(得分:0)
对getListView()
的调用仅适用于ListActivity
。您需要以不同的方式访问ListView。在您的Activity中实现此方法:
public ListView getListView()
{
return findViewById(android.R.id.list);
}
(或者如果您的列表ID是其他内容,请改用该ID)