Hen*_*nry 1 android listview gridview onitemclicklistener
GridView适配器ImageView从布局创建.所有图像都是从URLs数据库item IDs中下载的,其中ID来自a JSONArray.让我们说,视图现在显示的项目
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);
}
};
Run Code Online (Sandbox Code Playgroud)
第一个选择(好方法)
您保留对适配器的引用(或者通过调用parent.getAdapter()然后转换它来获取它)
在您的适配器中确保您已重写getItem(position)以返回用于填充适配器的对象(可能类似于return arrayList.getItem(position)您使用BaseAdapter的情况)
在您调用的适配器上getItem(position),这将为您提供完全相同的对象,因此您应该拥有所需的所有信息
第二种选择(简单方法)
您可以使用setTag()
随后的onItemClick调用将信息放入gridviewitem的视图中,getTag()并且您拥有唯一的ID
| 归档时间: |
|
| 查看次数: |
1552 次 |
| 最近记录: |