android - 试图将值从列表视图传递到另一个活动
问题描述
这个问题可能已经被问了很多,但即使我花了很多时间寻找解决方案,我也无法让它发挥作用。
首先我发现这段代码非常有用
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); 在我的代码中?
提前感谢您的帮助,这对我来说是新的,所以我尽力理解它。
解决方案
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();
推荐阅读
- ios - 在集合视图中找到中间单元格并更改其内容
- javascript - 使用 graphql 在 React 上的组件之间显示选择选项的数据
- feed - 将 Alienvault OTX 的 TAXII Feed 集成到 IBM Qradar
- elasticsearch - 使用 docker 环境变量在 Elasticsearch 中启用身份验证
- sql - 从 XML 导入
- python - 如何按行名对数据框进行排序?
- java - 使用 OneToMany 映射时在 Hibernate 中的 Join 列中获取 Null
- symfony - 我如何在 Sonata Admin 中为一个实体设置 2 个管理员?
- laravel - Laravel 使用查询生成器更新记录
- spring-boot - Spring Boot属性更改前端资源目录