Условно изменить изображение - PullRequest
1 голос
/ 21 марта 2012

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

public View getView(int position, View convertView, ViewGroup parent) {

    View vi=convertView;
    if(convertView==null)
        vi = inflater.inflate(R.layout.list_row, null);

    TextView title = (TextView)vi.findViewById(R.id.title); 
    TextView retail_price = (TextView)vi.findViewById(R.id.retail_price);
    TextView deal_price = (TextView)vi.findViewById(R.id.deal_price);
    TextView duration = (TextView)vi.findViewById(R.id.duration); 
    ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image);
    ImageButton imgb =  (ImageButton)vi.findViewById(R.idIMGB);

    HashMap<String, String> otherdeals = new HashMap<String, String>();
    otherdeals = data.get(position);

    title.setText(otherdeals.get(dealsparsing.TAG_TITLE));
    retail_price.setText(otherdeals.get(dealsparsing.TAG_RETAIL));
    retail_price.setPaintFlags(retail_price.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    deal_price.setText(otherdeals.get(dealsparsing.TAG_DEAL));
   duration.setText(otherdeals.get(dealsparsing.TAG_FINAL_TIME));
   Bitmap bitmap = DownloadImage(otherdeals.get(dealsparsing.TAG_IMAGE_URL));
   thumb_image.setImageBitmap(bitmap);

    return vi;

} 

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

Вы можете реализовать логику кейса для imageButton следующим образом.

if(case1)
{
 imgb.setImageResource(R.drawable.enableImage);
}
if(case2)
{
 imgb.setImageResource(R.drawable.disableImage);
}
2 голосов
/ 21 марта 2012

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

Edit: вы отредактировали свой код и добавили метод getView вашего адаптера. Теперь, где проблема? Проверьте ваше состояние и установите ImageButton для включения / выключения и измените изображение

...