我怎么知道第一个 activity 触摸了哪个按钮?
How do I know which button is touched from first activity?
我有几个按钮可以将我带到同一个 activity。我希望那个特定的计数器会根据触摸哪个按钮而增加(从之前的 activity 开始)。我如何知道触摸了哪个按钮而不出现错误:
只有两个按钮的示例代码。 Activity答:
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();
}
});
Activity 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 按钮并转到 Activity B 时,extras.getBoolean("sumarNo");失败,因为没有数据可接收。我该如何解决?
您选择了错误的方式来标记单击了哪个按钮
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();
}
});
而在Activity中的onCreate()方法中的A改为:
Bundle extras = getIntent().getExtras();
int r = extras.getInt("button", -1);
if(r==1){
rdo1++;
}
if(r==2){
rdo2++;
}
我有几个按钮可以将我带到同一个 activity。我希望那个特定的计数器会根据触摸哪个按钮而增加(从之前的 activity 开始)。我如何知道触摸了哪个按钮而不出现错误: 只有两个按钮的示例代码。 Activity答:
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();
}
});
Activity 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 按钮并转到 Activity B 时,extras.getBoolean("sumarNo");失败,因为没有数据可接收。我该如何解决?
您选择了错误的方式来标记单击了哪个按钮
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();
}
});
而在Activity中的onCreate()方法中的A改为:
Bundle extras = getIntent().getExtras();
int r = extras.getInt("button", -1);
if(r==1){
rdo1++;
}
if(r==2){
rdo2++;
}