Android:将选定的 ListView 项存储在全局变量中

标签 android listview variables android-activity global

我有两个 Activity 。

第一个 Activity 包含一个 ListView 小部件,它被填充为:

String products[] = {"Pull Restaurant names here", "Res. 1", "Res abc", "Res foo", "Res hello",
    "Res xyz", "Res test", "Res test2", "Denny's"};

lv = (ListView) findViewById(R.id.listView);

// Adding items to listview
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, products);
lv.setAdapter(adapter);

一旦用户从列表中选择了一个项目,我就会加载一个新的 Activity ,例如:

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        android.content.Intent intent = new android.content.Intent(GuestPage.this, RestaurantProfile.class);
        startActivity(intent);
    }
});

我希望能够将 ListView 中的所选项目字符串存储到全局变量中。我有一个扩展应用程序的全局类,我在我的 list 中包含了必要的名称标签。我正在使用类似于:

Globals g = (Globals)getApplication();
g.setData(String s);

为了设置全局变量。

我的问题是存储选定的 ListView 项,因为我不知道如何调用它。我没有使用任何 xml 项目文件来填充我的 ListView。我如何知道选择了哪个项目以及如何将其存储到我的全局变量中?

例如:用户选择“Res foo”。新 Activity 已加载,我有一个全局变量可在包含字符串“Res foo”的所有 Activity 中使用。 谢谢。

最佳答案

您对 Globals 所做的是一种非常糟糕的做法。相反,看看这个用于在 Activity 之间传递数据的解决方案。

https://stackoverflow.com/a/7325248/3474528

要获取选定的字符串,您需要执行以下操作:

 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    String selected = products[position];
    ....
 }                              

关于Android:将选定的 ListView 项存储在全局变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854344/

相关文章:

android - 在 jpg 和 png 中加载相同的图像会导致不同的位图大小

Django ListView - 用于过滤和排序的表单

vb.net - 高亮显示ListView中的特定行

python - MATLAB 结构体数组的 Python 版本是什么

android - 如何在 android firebase 聊天中显示打字指示器

java - recyclerview.onBindviewholder 始终处于位置 0

安卓 : what is canonical package name?

c# - 从数据集中的数据表中删除一行

Python 将条目列表分配给变量

java - JFrame打不开