我有一个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>
答案 0 :(得分:2)
由于您将图片放在可绘制文件夹上,然后使用此getResources().getDrawable(R.drawable.unselected);
加载图片,而不是createFromPath
。
createFromPath
用于从文件路径名创建一个drawable (来自SD卡或手机的文件)