2013-11-21 1 views
0

У меня есть список, и я хочу, когда я нажимаю на строку listView, изображение, которое я использовал в строке ListView, меняется на разные drawable. Вот код, который я пробовал.Изменение вида изображения при щелчке списка ListViewItem в android

lvAdminData.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, 
        View convertView, int position, long id) { 
       @SuppressWarnings("unused") 
       RelativeLayout rel=(RelativeLayout) adapter.getView(position, null,null); 
       ImageView arrowView=(ImageView) rel.getChildAt(2); 
       arrowView.setImageResource(R.drawable.info_details_navigation_white); 
          } 
     }); 
    } 

Вот снимок:

This white should turn into blue on click of row

+1

В чем проблема? –

+0

Я хочу, чтобы в любом месте этой строки я щелкнул и изменил это изображение стрелки. – pioneerBhawna

ответ

0

Попробуйте это ..

lvAdminData.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent,View convertView, int position, long id) {  

     ImageView arrowView=(ImageView) convertView.findViewById(R.id.yourid); //replace with your ImageView id 
     arrowView.setImageResource(R.drawable.info_details_navigation_white); 
     } 
}); 
0

попробовать это в

lvAdminData.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

@Override 
public void onItemClick(AdapterView<?> parent,View convertView, int position, long id) {  

    ImageView arrowView=(ImageView) convertView.findViewById(R.id.imageid); 
    arrowView.setImageResource(R.drawable.info_details_navigation_white); 
    } 

});

+0

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

+0

попробуйте с помощью convertView.setOnClickListner и см. – Invader

0

Попробуйте

rel.invalidate() ; 

после

arrowView.setImageResource(R.drawable.info_details_navigation_white); 
0

Решено: я непосредственно нашел идентификатор ImageView. Теперь его работа.

lvAdminData 
     .setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, 
        View convertView, int position, long id) { 

       ImageView arrowView=(ImageView) convertView.findViewById(R.id.imageViewArrow); 
       arrowView.setImageResource(R.drawable.info_details_navigation); 
       onAdminItemClick(parent, position); 
      } 
     }); 
+0

попробуйте использовать больше элементов, чтобы вам пришлось прокручивать и видеть, все ли работает, когда вы прокручиваете вверх и вниз. – grexter89

 Смежные вопросы

  • Нет связанных вопросов^_^