我是Java的新手,正在努力弄清楚如何做到这一点 在活动上有四个按钮,可以添加意图以启动其他活动。当我运行代码时,它会在模拟器到达此页面时停止应用程序。
真诚地感谢任何帮助。这是我的代码:
package com.helpfinder.app;
import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
public class LakeOptions extends Activity implements View.OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lake);
Button imageButton5= (Button) findViewById(R.id.imageButton5);
Button imageButton6= (Button) findViewById(R.id.imageButton6);
Button imageButton7= (Button) findViewById(R.id.imageButton7);
Button imageButton8= (Button) findViewById(R.id.imageButton8);
imageButton5.setOnClickListener(new View.OnClickListener() {
public void onClick(View imageButton5) {
Intent goToLakeFood = new Intent(LakeOptions.this,LakeFood.class);
startActivity(goToLakeFood);
}
});
imageButton6.setOnClickListener(new View.OnClickListener() {
public void onClick(View imageButton6) {
Intent goToLakeHousing = new Intent(LakeOptions.this,LakeHousing.class);
startActivity(goToLakeHousing);
}
});
imageButton7.setOnClickListener(new View.OnClickListener() {
public void onClick(View imageButton7) {
Intent goToLakeAssistance = new Intent(LakeOptions.this,LakeAssistance.class);
startActivity(goToLakeAssistance);
}
});
imageButton8.setOnClickListener(new View.OnClickListener() {
public void onClick(View imageButton8) {
Intent goToLakeOtherServices = new Intent(LakeOptions.this, LakeOtherServices.class);
startActivity(goToLakeOtherServices);
}
});
}public void onClick(View v) {
}
}
在xml中的按钮上,我有
android:onClick="onClick"
在这里尝试了建议之后,我的代码现在看起来像这样:但应用程序甚至不会运行第一页。我按照你的建议取出了最后一段代码但是当我在android studio中实现了onClick监听器时,它会立即添加代码。
public class LakeOptions extends Activity implements View.OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lake);
Button imageButton5= (Button) findViewById(R.id.imageButton5);
Button imageButton6= (Button) findViewById(R.id.imageButton6);
Button imageButton7= (Button) findViewById(R.id.imageButton7);
Button imageButton8= (Button) findViewById(R.id.imageButton8);
imageButton5.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent goToLakeFood = new Intent(LakeOptions.this,LakeFood.class);
startActivity(goToLakeFood);
}
});
imageButton6.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
Intent goToLakeHousing = new Intent(LakeOptions.this,LakeHousing.class);
startActivity(goToLakeHousing);
}
});
imageButton7.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
Intent goToLakeAssistance = new Intent(LakeOptions.this,LakeAssistance.class);
startActivity(goToLakeAssistance);
}
});
imageButton8.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
Intent goToLakeOtherServices = new Intent(LakeOptions.this, LakeOtherServices.class);
startActivity(goToLakeOtherServices);
}
});
}
@Override
public void onClick(View view) {
}
}
答案 0 :(得分:0)
在您的XML文件中,您要删除:
android:onClick="onClick"
因为你在java代码中设置了按钮处理程序。
此外,您要删除最后一个onClick函数,因为您没有使用它。 (滚动到代码的底部)
最后,替换onClick处理程序签名:
public void onClick(View imageButton[5-8])
与
public void onClick(View v)