ここで私がやろうとしている活動が 1 つあります。アプリを起動すると画像が表示されます。画像をクリックすると次の画像が表示されます。main.xml と imageview を使用してすべてをセットアップしました。アプリをビルドして実行し、最初の画像を問題なく表示します。次の画像が表示されるように、画像の onclick を設定しようとしています。main.xml の画像ビューに android:onClick="onClick" を追加しました。setOnClickListner に (this) を使用しており、クラスに View.onClickListener を実装しましたが、設定したスイッチの場合、onClick(View v) のメソッドが重複していて、その理由がわかりません。
また、findViewByIdを把握しようとすると、image1が常に表示されると思います。
重複したメソッドである行 public void onClick(View v) でエラーを取得しています。
これが私が持っているコードです。これについてご協力いただきありがとうございます。
main.xml は線形レイアウトであり、問題があるかどうかはわかりません。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/imageView1"
android:src="@drawable/bear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="onClick"
android:contentDescription="@string/desc"/>
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/bear_n"
android:onClick="onClick"
android:contentDescription="@string/desc" />
これは .java ファイルです。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class VTFCActivity extends Activity implements View.OnClickListener{
ImageView image;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView) findViewById(R.id.imageView1);
ImageView image1 = (ImageView) findViewById(R.id.imageView1);
ImageView image2 = (ImageView) findViewById(R.id.imageView2);
image1.setOnClickListener(this);
image2.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()){
case R.id.imageView1:
image.setImageResource(R.drawable.bear);
break;
case R.id.imageView2:
image.setImageResource(R.drawable.bear_n);
break;
}
}