Android图片问题

时间:2011-03-28 06:10:38

标签: android image listview

在我的应用程序中,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();
    }
});

1 个答案:

答案 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设置状态,但只需要创建新的布尔变量来维持开/关    我希望这会对你有所帮助。

谢谢。