禁用触发结果活动的按钮
Disable Button that triggered an ActivityforResult
我的代码是这样的:
- 一个按钮在结果上触发一个 Activity,这意味着 activity 应该返回一个结果。
- 当 activity 完成并且 returns 到单击按钮的 activity 时,我想禁用此按钮。
我动态创建了按钮,这就是为什么我必须在 onClick 方法上通过 View v 使用它们。
public void onClick(View v) {
b= (Button)v;
Intent ir_a_emociones = new Intent(this,emociones_votar.class);
ir_a_emociones.putExtra("alumno",alumno);
ir_a_emociones.putExtra("asignatura",b.getText().toString());
startActivityForResult(ir_a_emociones, 55);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
***--> here the button that triggered the intent should be disabled.***
}
}
}
这是 onclick 和 onActivityResult。我不知道如何引用按钮。 B 是一个按钮,但据我所知,它只是让我在 onClick 中获取引用。
将b的引用保存为class的私有属性,然后在onActivityResult中使用该属性:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
if (b != null)
b.setEnabled(false);
}
}
}
您可以在 activity 结果上 setEnabled(boolean value)
按钮。如需更多详细信息,请打开 Android documentation link
private Button b;
//
public void onClick(View v) {
b= (Button)v;
Intent ir_a_emociones = new Intent(this,emociones_votar.class);
ir_a_emociones.putExtra("alumno",alumno);
ir_a_emociones.putExtra("asignatura",b.getText().toString());
startActivityForResult(ir_a_emociones, 55);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
if(b!= null){
b.setEnable(false) // false :: Disable button, true :: Enable button
}
}
}
}
我的代码是这样的: - 一个按钮在结果上触发一个 Activity,这意味着 activity 应该返回一个结果。 - 当 activity 完成并且 returns 到单击按钮的 activity 时,我想禁用此按钮。
我动态创建了按钮,这就是为什么我必须在 onClick 方法上通过 View v 使用它们。
public void onClick(View v) {
b= (Button)v;
Intent ir_a_emociones = new Intent(this,emociones_votar.class);
ir_a_emociones.putExtra("alumno",alumno);
ir_a_emociones.putExtra("asignatura",b.getText().toString());
startActivityForResult(ir_a_emociones, 55);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
***--> here the button that triggered the intent should be disabled.***
}
}
}
这是 onclick 和 onActivityResult。我不知道如何引用按钮。 B 是一个按钮,但据我所知,它只是让我在 onClick 中获取引用。
将b的引用保存为class的私有属性,然后在onActivityResult中使用该属性:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
if (b != null)
b.setEnabled(false);
}
}
}
您可以在 activity 结果上 setEnabled(boolean value)
按钮。如需更多详细信息,请打开 Android documentation link
private Button b;
//
public void onClick(View v) {
b= (Button)v;
Intent ir_a_emociones = new Intent(this,emociones_votar.class);
ir_a_emociones.putExtra("alumno",alumno);
ir_a_emociones.putExtra("asignatura",b.getText().toString());
startActivityForResult(ir_a_emociones, 55);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 55) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "¡Gracias!", Toast.LENGTH_SHORT).show();
if(b!= null){
b.setEnable(false) // false :: Disable button, true :: Enable button
}
}
}
}