Проблема с изображением Android

1

В моем приложении Listview содержит одно изображение. Onclick этого изображения меняет изображение на другое. Я могу определить, какое изображение щелкнуть и присвоить ему новое изображение. он не изменит изображение, после перезагрузки он будет работать нормально. как я могу изменить изображение без перезагрузки?

моя секция программы покажет значение status_id возвращает 0 или 1

holder.favorite.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v)
    {
    String s;
    Integer status_id;
    s =Integer.toString(position);
    holder.favorite.setImageResource(0); 
    status_id = change_status_of_Favorite(ChannelId[position],ChannelFavo[position]);
    if(status_id==0)
    {
        ChannelFavo[position] ="false";
        holder.favorite.setImageResource(R.drawable.favorite_gray);
        Toast.makeText(activity, "Removed from Favorite", Toast.LENGTH_SHORT).show();
    }
    else
    {
         ChannelFavo[position] ="true";
         holder.favorite.setImageResource(R.drawable.favorite_icon);
         Toast.makeText(activity, "Added to Favorite", Toast.LENGTH_SHORT).show();
    }

    //Toast.makeText(activity, "Position : "+s, Toast.LENGTH_SHORT).show();
    }
});
  • 0
    Можете ли вы проверить на кнопку переключения на Android, я думаю, что это поможет вам
  • 0
    Я пытался с помощью кнопки переключения, но все равно я не могу изменить изображение, меняется только текст кнопки переключения
Показать ещё 1 комментарий
Теги:
image
listview

1 ответ

0

Хорошо, если вы хотите сделать это с помощью кнопки переключения, пожалуйста, проверьте мой код   Создайте новый xml в res/drawable/imagefile.xml

<?xml version="1.0"
 encoding="UTF-8"?> <selector
 xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:drawable="@drawable/off"
 /> <!-- default --> <item
 android:state_checked="true"
      android:drawable="@drawable/on" />
<!-- pressed --> <item
      android:state_checked="false"
             android:drawable="@drawable/off" />
      <!-- unchecked --> </selector>

Теперь сделайте кнопку toggle в вашем layour xml

<ToggleButton android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    android:textOn=""
    android:textOff=""
    android:background="@drawable/imagefile"
   />

В стороне вы работаете flashOnOff.setBackgroundResource(R.drawable.off);             или flashOnOff.setBackgroundResource(R.drawable.on);  вы также можете установить статус с помощью http://developer.android.com/reference/android/widget/ToggleButton.html#setChecked%28boolean%29, но просто нужно создать новый логический varible для поддержки включения/выключения  Надеюсь, это поможет вам.

спасибо.

  • 0
    Я пытался с вашим методом xml и setBackgroundResource (), он также не обновляет изображение (фоновое изображение). Когда я прокручиваю просмотр списка, изображение меняется, мой код добавляется к моему вопросу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню