Android 禁用触发ActivityforResult的按钮

Android 禁用触发ActivityforResult的按钮,android,button,onclick,onactivityresult,Android,Button,Onclick,Onactivityresult,我的代码是这样的: -一个按钮根据结果触发一个活动,这意味着该活动应该返回一个结果。 -当活动完成并返回到单击按钮的活动时,我想禁用此按钮 我动态创建了按钮,这就是为什么我必须通过onClick方法上的View v使用它们 public void onClick(View v) { b= (Button)v; Intent ir_a_emociones = new Intent(this,emociones_votar.class); ir_a_emociones.p

我的代码是这样的: -一个按钮根据结果触发一个活动,这意味着该活动应该返回一个结果。 -当活动完成并返回到单击按钮的活动时,我想禁用此按钮

我动态创建了按钮,这就是为什么我必须通过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的引用另存为类的私有属性,然后使用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);
        }
    }
}
您可以
setEnabled(布尔值)
“活动结果”上的按钮。欲了解更多详情,请打开


我原以为打开onActivityResult后会丢失活动的状态,但它会保持原样,直到结果完成,这就是为什么我的问题如此混乱。非常感谢。欢迎。。继续编码:)@M.M.谢谢你。事实上,我没有得到反对票。我不知道我的问题是形式错误,还是已经得到了回答(我没有找到答案),或者太基本了,这里的人希望得到更高层次的问题。
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
           }
        }
    }
}