机器人。我是新手,我有6张图片。一个图像视图,前一个和下一个两个按钮。编写了程序,但执行时崩溃了。我已经写了如何在图像视图中更改图像的逻辑,我已经删除了所有语法错误。这是我的Mainactivity.java代码
package com.example.hm2_koppineedi;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
ImageView imageView;
Button previous,next;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
imageView= (ImageView)findViewById(R.id.imageView1);
previous = (Button)findViewById(R.id.button1);
previous.setOnClickListener((OnClickListener) this);
next = (Button)findViewById(R.id.button2);
next.setOnClickListener((OnClickListener) this);
}
public void onClick(View view)
{
int a=0;
switch (view.getId())
{
case R.id.button2:
if (a == 0)
{
imageView.setImageResource(R.drawable.hdimage);
a = 1;
}
else if (a == 1)
{
imageView.setImageResource(R.drawable.elephant);
a = 2;
}
else if (a == 2)
{
imageView.setImageResource(R.drawable.giraffe);
a = 3;
}
else if (a == 3)
{
imageView.setImageResource(R.drawable.horse);
a = 4;
}
else if (a == 4)
{
imageView.setImageResource(R.drawable.lion);
a = 5;
}
else if (a == 5)
{
imageView.setImageResource(R.drawable.tiger);
a = 6;
}
else if (a == 6)
break;
case R.id.button1:
a--;
button2.performClick();
next.performClick();
break;
}
}
}
答案 0 :(得分:0)
错误的代码:
previous.setOnClickListener((OnClickListener) this);
next.setOnClickListener((OnClickListener) this);
使用此:
previous.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//...
}
);
next.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//...
}
);
答案 1 :(得分:0)
我认为您需要覆盖OnClick方法,并确保它在您的活动中。
public class myActivity extends Activity {
...
@Override
public void onClick(View v) {
// Do something
}
...
}
你不应该施放“这个”,而是打电话给......
setOnClickListener(this);
...来自您的一个活动方法(例如:OnCreate),以便“this”成为活动。这样,在您的活动上下文中对“Click”的所有调用都将被发送到您的OnClick方法。
您可以在此网站上找到许多示例来说明这一点。