java - 将数组值添加到 Activity 中的 OnItemClickListener()

标签 java android listview listactivity

我正在使用此代码:

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/

相关文章:

Java CSON 解析器?

java - Firestore RecyclerView 刷卡 View 删除文档

android - adapter 的内容发生了变化但是 ListView 没有收到通知,后台没有更新

javascript - event.preventDefault 之后无法单击链接

android - ListView中的onItemClick随机改变背景色

java - 已构建异常 : This object has already been built

java - 将文件读入二维数组 - 获取 ArrayIndexOutOfBoundsException()

android - fragment 中的 OnItemClickListener 不起作用

android - 复合 ListView 行的状态列表

java - JWT token 加密并在 http get 中传输