Android 初学者按钮
Android beginner button
尝试移动到新的 activity 并根据按下的按钮传递不同的变量,到目前为止我的代码是
public void onClickker(View v) {
switch(v.getId())
{
case R.id.answer1: {
Intent intent = new Intent(getApplicationContext(),Activity2.class);
intent.putExtra("answer", 1);
finish();
startActivity(intent);
break;
}
case R.id.answer2:
Intent intent2 = new Intent(getApplicationContext(), Activity2.class);
intent2.putExtra("answer", 1);
finish();
startActivity(intent2);
break;
case R.id.answer3:
Intent intent3 = new Intent(getApplicationContext(), Activity2.class);
intent3.putExtra("answer", 1);
finish();
startActivity(intent3);
break;
default:
throw new RuntimeException("Unknow button ID");
}
Button btn = (Button)findViewById(R.id.answer1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
Button btn2 = (Button)findViewById(R.id.answer2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
Button btn3 = (Button)findViewById(R.id.answer3);
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
不幸的是,无论何时我按下任何按钮都没有任何反应?任何建议将不胜感激。谢谢你:)
启动 activity 时,不要使用应用程序上下文,
例如,替换
Intent intent = new Intent(getApplicationContext(),Activity2.class);
和
Intent intent = new Intent(this,Activity2.class);
您在哪里初始化按钮并附加侦听器。根据您发布的代码,您的按钮已在 onclickker 方法中初始化。它们应该在 onCreate() 或从 onCreate() 调用的函数中初始化。
您的第一个 case
格式错误,您只能为每个 case
创建一次 Intent
对象
点击方法
public void onClickker(View v) {
Intent intent = new Intent(getApplicationContext(),Activity2.class);
switch(v.getId()){
case R.id.b1:
intent.putExtra("answer", 1);
break;
....
default:
throw new RuntimeException("Unknow button ID");
break;
}
startActivity(intent);
this.finish();
}
按钮侦听器:
Button btn = (Button)findViewById(R.id.b1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
尝试移动到新的 activity 并根据按下的按钮传递不同的变量,到目前为止我的代码是
public void onClickker(View v) {
switch(v.getId())
{
case R.id.answer1: {
Intent intent = new Intent(getApplicationContext(),Activity2.class);
intent.putExtra("answer", 1);
finish();
startActivity(intent);
break;
}
case R.id.answer2:
Intent intent2 = new Intent(getApplicationContext(), Activity2.class);
intent2.putExtra("answer", 1);
finish();
startActivity(intent2);
break;
case R.id.answer3:
Intent intent3 = new Intent(getApplicationContext(), Activity2.class);
intent3.putExtra("answer", 1);
finish();
startActivity(intent3);
break;
default:
throw new RuntimeException("Unknow button ID");
}
Button btn = (Button)findViewById(R.id.answer1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
Button btn2 = (Button)findViewById(R.id.answer2);
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
Button btn3 = (Button)findViewById(R.id.answer3);
btn3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});
不幸的是,无论何时我按下任何按钮都没有任何反应?任何建议将不胜感激。谢谢你:)
启动 activity 时,不要使用应用程序上下文, 例如,替换
Intent intent = new Intent(getApplicationContext(),Activity2.class);
和
Intent intent = new Intent(this,Activity2.class);
您在哪里初始化按钮并附加侦听器。根据您发布的代码,您的按钮已在 onclickker 方法中初始化。它们应该在 onCreate() 或从 onCreate() 调用的函数中初始化。
您的第一个 case
格式错误,您只能为每个 case
Intent
对象
点击方法
public void onClickker(View v) {
Intent intent = new Intent(getApplicationContext(),Activity2.class);
switch(v.getId()){
case R.id.b1:
intent.putExtra("answer", 1);
break;
....
default:
throw new RuntimeException("Unknow button ID");
break;
}
startActivity(intent);
this.finish();
}
按钮侦听器:
Button btn = (Button)findViewById(R.id.b1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickker(v);
}
});