gpt4 book ai didi

android - 为动态 GridView/ListView 实现 OnItemClickListener()

转载 作者:行者123 更新时间:2023-11-29 14:40:46 24 4
gpt4 key购买 nike

GridView 适配器从布局创建 ImageView。所有图像都是从 URLs 下载的,与数据库 item IDs 有关,其中 ID 是从 JSONArray 中获取的。比方说, View 现在显示项目ID:1,3,4,7。由于 GridView 项目是动态的,位置(从 0 开始)无法真正识别我在 GridView 上的项目。是否有任何其他方法可以从数据库项目 ID 中识别该图像?

public OnItemClickListener ClickListner = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//Toast.makeText(getApplicationContext(),
// ""+position, Toast.LENGTH_SHORT).show();

//Identification code for the item to be added here

Intent view =
new Intent(main.this, View.class);
view.putExtra("ID", id);
//expected to have an ID equal to database item ID
startActivity(view);
}

};

最佳答案

第一个选项(好的方法)

您保留对适配器的引用(或者您通过调用 parent.getAdapter() 获取它然后转换它)

在你的适配器中,确保你已经覆盖了 getItem(position) 以返回你用来填充适配器的对象(可能类似于 return arrayList.getItem(position)如果你使用了 BaseAdapter)

在适配器上调用 getItem(position),这将为您提供完全相同的对象,因此您现在应该拥有所需的所有信息

第二个选项(简单的出路)

您可以使用 setTag() 将信息放入 gridviewitem 的 View 中然后在 onItemClick 中你调用 getTag() 并且你有你的唯一 id

关于android - 为动态 GridView/ListView 实现 OnItemClickListener(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com