如何设置图片资源列表<Item>
How to setImageResource List<Item>
我有一个 GridView。当我单击 GridView 项目时,页面转到 FullScreenActivity 和 GridView Position.In 这个 Activity,我使用 GridView Activity Intent 中的 "id"。然后用位置设置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));
}
.........
}
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);
}
});
FullScreenActivity.java
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
因为 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) {
Item item = parent.getAdapter().getItem(position);
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
i.putExtra("imageResource", item.getImageResource);
startActivity(i);
}
});
FullScreenActivity.java
Intent i = getIntent();
int imageResource= i.getExtras().getInt("imageResource");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageResource);
希望能帮到你。
我有一个 GridView。当我单击 GridView 项目时,页面转到 FullScreenActivity 和 GridView Position.In 这个 Activity,我使用 GridView Activity Intent 中的 "id"。然后用位置设置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));
}
.........
}
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);
}
});
FullScreenActivity.java
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
因为 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) {
Item item = parent.getAdapter().getItem(position);
Intent i = new Intent(getApplicationContext(), FullImageActivity.class);
i.putExtra("imageResource", item.getImageResource);
startActivity(i);
}
});
FullScreenActivity.java
Intent i = getIntent();
int imageResource= i.getExtras().getInt("imageResource");
ImageView imageView = (ImageView) findViewById(R.id.full_image_view);
imageView.setImageResource(imageResource);
希望能帮到你。