我尝试更改ImageView图像时Android崩溃了

时间:2012-09-03 01:37:57

标签: android

我有一个ImageView,我希望每次按下时图片在两张图片之间切换。我注释掉了所有代码,只是让代码更改了图像视图显示的图像。当我调用setImageDrawable时它会崩溃。

代码:

ImageView but;
but =(ImageView) findViewById(R.id.butFavrets);  

// it crashes hear
but.setImageDrawable(  Drawable.createFromPath("@drawable/unselected") ); 

XML文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/backFeetGallery"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/viewimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"               
        android:src="@drawable/background" />         

     <Button
        android:id="@+id/butEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/butLeft"
        android:text="Email" />

    <Button
        android:id="@+id/butLeft"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"    
        android:text="Left" />


    <Button
        android:id="@+id/butRight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text=" Right " />

      <ImageView
        android:src="@drawable/unselected" 
        android:id="@+id/butFavrest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_toLeftOf="@+id/butRight" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:2)

由于您将图片放在可绘制文件夹上,然后使用此getResources().getDrawable(R.drawable.unselected);加载图片,而不是createFromPath

createFromPath用于从文件路径名创建一个drawable (来自SD卡或手机的文件)