2017-02-17 10 views
1

У меня есть GridView. Когда я нажимаю элемент GridView, страница переходите в FullScreenActivity с позицией GridView. В этой операции я использую «id» из GridView Activity Intent. И затем setImageResource с позицией. Я не могу setImageResource в объекте Item Item. Как я могу это решить?Как установить списокImageResource <Item>

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 
+0

какая ошибка вы получаете? –

+0

не может использовать imageView.setImageResource – WPG

ответ

0

Поскольку 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); 

надежда, чтобы помочь вам.

+0

Обязательно: com.example.application.Item/Found: java.lang.Object @ onItemClick. Я использую Case. Все хорошо. Но не может решить символ getImageResource – WPG

+0

Спасибо. Я немного меняю код ур. Элемент item = (Item) parent.getAdapter(). GetItem (позиция); i.putExtra ("imageResource", item.getDrawableId()); – WPG