在我的应用程序中,Listview包含一个图像。单击此图像会将图像更改为另一个图像。我可以识别单击的图像并为其指定新图像。 它重新加载后工作正常,不会改变图像。 如何在不重新加载的情况下更改图像?
我的程序部分将显示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 :(得分:0)
好的,如果想要使用切换按钮,请检查我的代码 在res / drawable / imagefile.xml中创建新的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>
现在在你的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设置状态,但只需要创建新的布尔变量来维持开/关 我希望这会对你有所帮助。
谢谢。