私はこのmain.xml
ファイルを持っています:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
>
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/z01"
/>
<ImageView
android:id="@+id/img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/z02"
/>
</LinearLayout>
私が達成しようとしていることは次のとおりです。
- ユーザーがimg1を長押しすると、画像が押された画像に変わります(つまり、z01.pngからz01_pressed.pngに変更されます)
- たとえば、ユーザーが押したままimg1からimg2に移動すると、img2が押され(画像がz02.pngからz02_pressed.pngに変更され)、img1がその状態(z01.pngに)に戻ります。
これを達成するために、私はこれをonCreate
メソッドで書きました:
final ImageView img1 = (ImageView) findViewById(R.id.img1);
final ImageView img2 = (ImageView) findViewById(R.id.img2);
img1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
img1.setBackgroundResource(R.drawable.z01_pressed);
return false;
}
});
img2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
img2.setBackgroundResource(R.drawable.z01_pressed);
return false;
}
});
ただし、これは機能しません。何か問題がありますか?