首页 > 解决方案 > 试图将值从列表视图传递到另一个活动

问题描述

这个问题可能已经被问了很多,但即使我花了很多时间寻找解决方案,我也无法让它发挥作用。

首先我发现这段代码非常有用

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
        Product selectedProduct = arrayList.get(position);

        Intent intent = new Intent(getApplicationContext(), NuevaActivity.class);
        intent.putExtra("nombre", selectedProduct.getName());
        intent.putExtra("contenido", selectedProduct.getContent());
        intent.putExtra("extra1", selectedProduct.getExtra());
        startActivity(intent);
    }
});

其中Product selectedProduct = arraylist.get(position); 没有工作,因为它从我的数组列表中请求一个对象

所以我把它改成了Object不管名称 = myarraylist(position);

接下来我弄清楚了 putExtra 是如何工作的,现在我对此表示怀疑。所以我需要使用 3 种名为getName() getContent()和 get Extra()的方法从数组中获取字符串(如本例所示) ?

问题如下,我如何创建这个方法?

在我的实际列表视图中,我从 PHP 获取数据并将 JSONdata 放入 3 个不同的数组中,我应该将其用于上述 3 种方法吗?(仅这次为每个数组做一个)

如果是这样,我需要写 3 Objectwhatevername = eachdifferentarray(position); 在我的代码中?

提前感谢您的帮助,这对我来说是新的,所以我尽力理解它。

标签: androidlistview

解决方案


lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
        Product selectedProduct = arrayList.get(position);
        Common currentClick = selectedProduct;
        Intent intent = new Intent(getApplicationContext(), NuevaActivity.class);

        startActivity(intent);
    }
});

这里的 Common 是一个存储当前点击项的类,你可以在下一个类中使用它。常见的currentClick.getYoueyc();


推荐阅读