java - 在 ListView 项目上存储数据

标签 java android listview listviewitem

首先,我是 Android 新手。所以这可能是一个非常简单的问题,但我自己找不到答案。

我有两个 Activity ,我用用户名和从远程请求收到的其他数据填充第一个 Activity ,第二个 Activity 用于显示所选用户的详细信息。

因此,我需要以某种方式将这些用户记录与 ListView 项关联起来,这样我就可以使用 Intent 将其中一些信息传递给第二个 Activity。我不确定这是对还是错,但我发现我需要创建一个自定义的 ArrayAdapter。所以我创建了一个 User 类:

class User {
   public String id;
   public String name;
}

我想现在我需要写一些类似的东西:

class UserAdapter extends ArrayAdapter<User> {
   ...
}

基本上在我想显示的第一个 View 中:

John Doe
Mike Brown
...

第二个将根据 User.id 发出另一个请求并显示有关用户的一些信息,例如:

John Doe, 45, San Francisco

我找不到类似的例子,所以我不太确定如何做到这一点。任何引用也会有所帮助。

谢谢。

最佳答案

在 UserAdapter 的“getView”方法中,将 View 的标记设置为有用的内容...

view.setTag(id);

然后您可以在单击某些内容时提取此信息...

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Integer id = (Integer) view.getTag();
    // ...
}

关于java - 在 ListView 项目上存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887191/

相关文章:

c# - 我可以在 ListView 的详细信息模式下显示链接吗?

android - 在 ios 和 android 上查看 localStorage

android - ListView 使用自定义适配器。用于删除 Firebase 数据库中的子项的按钮

android - 如何在listview上方显示FloatingActionButton?

java - 字节数组输出流。 ToString() 没有得到任何字符集

android - UI Automator Viewer 的 GUI 损坏

java - iOS 和 Android 上的 zlib 通缩结果不同。如何获得相同的结果?

java - 如何从列表转换为数组?安卓

java - 无法显示小程序

java - 将日期从 JDateChooser 插入到 MySql 数据库