Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用视图保存其他上下文_Android - Fatal编程技术网

Android 使用视图保存其他上下文

Android 使用视图保存其他上下文,android,Android,我有一个显示缩略图列表的GridView。单击其中一个之后,我想导航到另一个活动,并查看相应内容的详细视图 我应该如何存储一些额外的数据/标识符,以便在单击时可以将其传递给详细的活动?默认情况下,我只获取位置和id。我希望以某种方式存储我的自定义标识符,用于查询外部服务的详细信息 gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterVi

我有一个显示缩略图列表的GridView。单击其中一个之后,我想导航到另一个活动,并查看相应内容的详细视图

我应该如何存储一些额外的数据/标识符,以便在单击时可以将其传递给详细的活动?默认情况下,我只获取位置和id。我希望以某种方式存储我的自定义标识符,用于查询外部服务的详细信息

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