0

我有一个 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>
4

1 回答 1

2

由于您将图像放在可绘制文件夹中,因此使用它getResources().getDrawable(R.drawable.unselected);来加载图像,而不是createFromPath.

createFromPath用于从文件路径名(来自 sdcard 或手机的文件)创建可绘制对象

于 2012-09-03T01:42:21.670 回答