SetImageDrawable в виде списка - PullRequest
       33

SetImageDrawable в виде списка

1 голос
/ 28 февраля 2012

В моем представлении списка я хочу сделать так, чтобы он изменил рисование в представлении изображения, которое я сделал, но я получаю ошибку каждый раз, когда запускаю его.

ImageView Player;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Player = (ImageView)findViewById(R.id.bob);
    setListAdapter(new ArrayAdapter<String>(this, R.layout.pointguards, PointGuards));
    final ListView lv = getListView();
    lv.setTextFilterEnabled(true);
    lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView parent, View view, int position, long id) {
                    String item = (String) lv.getAdapter().getItem(position);
                    //decide how to launch `Intent` depending on `item`
                    if (item == "bob"){
                Intent intent = new Intent("com.example.nba.playerinfo");
                startActivity(intent);
                Player.setImageDrawable(R.drawable.joe);
        }
    };   

Это работает отлично, но когда я добавляю setImageDrawable, он падает.РЕДАКТИРОВАТЬ: Drawable, что я хотел бы изменить, в намерении, что я собираюсь

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Вам необходимо установить изображение для рисования в Activity, который вы запускаете с вашим Intent, а не в ListView.Вы можете передать имя с помощью intent.putExtras("name", name);.Затем в Activity используйте setImageDrawable на основе имени, которое вы получите от Intent extra.

EDIT : получение данных из Intent в вашем Activity:

Intent intent = getIntent();
String name = intent.getStringExtra("name");

А потом что-то вроде этого, чтобы установить Player ImageView:

if (name.equalsIgnoreCase("joe")
    Player.setImageDrawable(R.drawable.joe);
0 голосов
/ 28 февраля 2012

Вы не настраиваете просмотр контента. Вы должны установить как:

ImageView player;

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.your_list_layout);   //   <-- setting content view
  player = (ImageView)findViewById(R.id.bob);
.
.
.
...