Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.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
Java 如何设置图像资源列表<;项目>;_Java_Android_List_Gridview_Baseadapter - Fatal编程技术网

Java 如何设置图像资源列表<;项目>;

Java 如何设置图像资源列表<;项目>;,java,android,list,gridview,baseadapter,Java,Android,List,Gridview,Baseadapter,我有一个网格视图。当我单击GridView项目时,页面转到具有GridView位置的FullScreenActivity。在该活动中,我使用GridView活动意图中的“id”。然后使用位置设置ImageResource。无法在列表项对象中设置ImageResource。我怎样才能解决这个问题 public class MyAdapter extends BaseAdapter { List<Item> mItems = new ArrayList<Item>()

我有一个网格视图。当我单击GridView项目时,页面转到具有GridView位置的FullScreenActivity。在该活动中,我使用GridView活动意图中的“id”。然后使用位置设置ImageResource。无法在列表项对象中设置ImageResource。我怎样才能解决这个问题

public class MyAdapter extends BaseAdapter {
    List<Item> mItems = new ArrayList<Item>();
    LayoutInflater mInflater;

    public MyAdapter(Context context) {
        mInflater = LayoutInflater.from(context);    
        mItems.add(new Item("Red",       R.drawable.red));
        mItems.add(new Item("Magenta",   R.drawable.magenta));
        mItems.add(new Item("Dark Gray", R.drawable.dark_gray));
        mItems.add(new Item("Gray",      R.drawable.gray));
        mItems.add(new Item("Green",     R.drawable.green));
        mItems.add(new Item("Cyan",      R.drawable.cyan));
    }
    .........
}

因为imageAdapter是新的。它不包括数据

您应该发送图像资源

GridViewActivity.java

GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
        i.putExtra("id", position);
        startActivity(i);
    }
});
   Intent i = getIntent();
   int position = i.getExtras().getInt("id");
   MyAdapter imageAdapter = new MyAdapter(this);
   ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
   imageView.setImageResource(imageAdapter.mThumbIds[position]); // error
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Item item = parent.getAdapter().getItem(position);

    Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
    i.putExtra("imageResource", item.getImageResource);
    startActivity(i);
 }
});
Intent i = getIntent();
int imageResource= i.getExtras().getInt("imageResource");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageResource);

希望能帮助您。

因为imageAdapter是新的。它不包括数据

您应该发送图像资源

GridViewActivity.java

GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
        i.putExtra("id", position);
        startActivity(i);
    }
});
   Intent i = getIntent();
   int position = i.getExtras().getInt("id");
   MyAdapter imageAdapter = new MyAdapter(this);
   ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
   imageView.setImageResource(imageAdapter.mThumbIds[position]); // error
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Item item = parent.getAdapter().getItem(position);

    Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
    i.putExtra("imageResource", item.getImageResource);
    startActivity(i);
 }
});
Intent i = getIntent();
int imageResource= i.getExtras().getInt("imageResource");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageResource);

希望能帮助您。

您遇到了什么错误?无法使用imageView.SetImageResource您遇到了什么错误?无法使用imageView.setImageResourceRequired:com.example.application.Item/Found:java.lang.Object@onItemClick。我使用这个用例。没关系。但无法解析符号GetImageResource谢谢。我把你的密码改了一点。Item Item=(Item)parent.getAdapter().getItem(位置);i、 putExtra(“imageResource”,item.getDrawableId());必需:com.example.application.Item/Found:java.lang.Object@onItemClick。我使用这个用例。没关系。但无法解析符号GetImageResource谢谢。我把你的密码改了一点。Item Item=(Item)parent.getAdapter().getItem(位置);i、 putExtra(“imageResource”,item.getDrawableId());