试图将值从列表视图传递到另一个活动

时间:2018-10-03 03:13:22

标签: android listview

这个问题可能已经问了很多,但即使我花了所有时间寻找解决方案,我仍然无法解决这个问题。

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

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 选中的Product = arraylist.get(position);它无法从我的数组列表中请求对象,因此无法正常工作

所以我将其更改为 Object (无论对象名称是什么)= myarraylist(position);

接下来,我弄清楚了putExtra的工作原理,现在我对此表示怀疑。因此,我需要使用称为 getName() getContent()的3种方法从数组中获取字符串(如本例所示),并获取 Extra()< / strong>?

问题如下,如何创建此方法?

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

如果是的话,我需要写3个对象,无论名称= eachdifferentarray(position);在我的代码中?

在此先感谢您的帮助,这对我来说是新的,所以我会尽力理解它。

2 个答案:

答案 0 :(得分:1)

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);
    }
});

“这里共有”是一个存储当前点击项的类,您可以在下一个类中使用它 例如。常见的currentClick.getYoueyc();

答案 1 :(得分:0)

解决了 1-将产品更改为对象以获取阵列的位置 2-必须将该位置传递给字符串 3-最后将字符串传递给放置多余的东西

如果您想举个例子,就像这样:

Object ArrayPosition = nameofarray.get(i);

String ValuePosition = ArrayPosition.toString();

intent.putExtra("NameExample",ValuePosition);

如果您希望通过多个考试,则只需为每个考试做一次

Object ArrayPosition1 = nameofarray1.get(i);
Object ArrayPosition2 = nameofarray2.get(i);

String ValuePosition1 = ArrayPosition1.toString();
String ValuePosition2 = ArrayPosition2.toString();

intent.putExtra("NameExample1",ValuePosition1);
intent.putExtra("NameExample2",ValuePosition2);

并将putExtra传递给另一个活动

Intent intent = getIntent();
String NameExample = intent.getStringExtra("NameExample");
//*Do whatever logic you need here*

希望这对某人有所帮助!