Android 使用视图保存其他上下文
我有一个显示缩略图列表的GridView。单击其中一个之后,我想导航到另一个活动,并查看相应内容的详细视图 我应该如何存储一些额外的数据/标识符,以便在单击时可以将其传递给详细的活动?默认情况下,我只获取位置和id。我希望以某种方式存储我的自定义标识符,用于查询外部服务的详细信息Android 使用视图保存其他上下文,android,Android,我有一个显示缩略图列表的GridView。单击其中一个之后,我想导航到另一个活动,并查看相应内容的详细视图 我应该如何存储一些额外的数据/标识符,以便在单击时可以将其传递给详细的活动?默认情况下,我只获取位置和id。我希望以某种方式存储我的自定义标识符,用于查询外部服务的详细信息 gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterVi
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Intent intent = new Intent(this, MovieDetails.class);
intent.putExtra(MY_ID, <some_extra_ID>);
startActivity(intent);
}
});
编辑:
例如,我有一个菜的动态列表,其中只有使用GridView的那个菜的照片。当用户点击其中一个时,我想显示一个带有配方和注释的详细视图
为此,我需要传递该盘的名称以在详细视图中加载信息。实际上,它与单击侦听器在传递视图、位置和id时所能获得的一样好。不过,您可以通过在适配器中定义唯一的项id来改进所获得的数据 如果使用ArrayAdapter或SimpleAdapter,则id通常与位置相同,但对于CursorAdapter或SimpleCursorAdapter,id返回表的行id 现在,您可以扩展适配器并在getItemId方法中返回所需的id:
请详细说明,您希望传递什么?这是否意味着您希望将绑定到所选视图的数据发送到另一个活动?
public class MyAdapter extends ArrayAdapter<MyItem>{
...
@Override
public long getItemId(int position) {
return myItems.get(position).myUniqueId;
}
}