В моем приложении 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();
}
});
Хорошо, если вы хотите сделать это с помощью кнопки переключения, пожалуйста, проверьте мой код Создайте новый 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 для поддержки включения/выключения Надеюсь, это поможет вам.
спасибо.