我有几个按钮让我参加同样的活动。我会根据触摸的按钮(来自上一个活动)增加特定的计数器。如何在不给出错误的情况下知道触摸了哪个按钮: 只有两个按钮的示例代码。活动A:
btnSi.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
sumarSi=true;
Intent aSiguiente = new Intent(Peliculas.this, ResultadosSiguientes.class);
aSiguiente.putExtra("sumarSi", sumarSi);
startActivity(aSiguiente);
Peliculas.this.finish();
}
});
btnNo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
sumarNo=true;
Intent aSiguiente = new Intent(Peliculas.this, ResultadosSiguientes.class);
aSiguiente.putExtra("sumarNo", sumarNo);
startActivity(aSiguiente);
Peliculas.this.finish();
}
});
活动B(Oncreate):
Bundle extras = getIntent().getExtras();
Boolean r1 = extras.getBoolean("sumarSi");
if(r1==true){
rdo1++;
}
Boolean r2 = extras.getBoolean("sumarNo");
if(r2==true){
rdo2++;
}
这给了我错误,因为当我播放btnSi按钮并转到活动B时,extras.getBoolean(" sumarNo");失败,因为没有数据要接收。我怎么解决?
答案 0 :(得分:1)
您选择错误的方式来标记单击了哪个按钮
btnSi.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent aSiguiente = new Intent(Peliculas.this, ResultadosSiguientes.class);
aSiguiente.putExtra("button", 1);
startActivity(aSiguiente);
Peliculas.this.finish();
}
});
btnNo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent aSiguiente = new Intent(Peliculas.this, ResultadosSiguientes.class);
aSiguiente.putExtra("button", 2);
startActivity(aSiguiente);
Peliculas.this.finish();
}
});
在onCreate()方法的活动A中,改为:
Bundle extras = getIntent().getExtras();
int r = extras.getInt("button", -1);
if(r==1){
rdo1++;
}
if(r==2){
rdo2++;
}