我在这里有一项活动是我正在尝试做的。当应用程序启动时显示图像。单击图像时,将显示下一个图像。我已经用 main.xml 和 imageview 完成了所有设置。该应用程序构建并运行并显示第一个图像没有问题。现在尝试为图像设置 onclick,以便显示下一张图像。我已将 android:onClick="onClick" 添加到 main.xml 中的图像视图。我将(this)用于setOnClickListner,并为该类实现了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;
}
}