Android setText工作,但按钮不更新

时间:2016-02-16 18:50:34

标签: android

我想在调用onResume()时更改按钮上的文本,(setText正常工作,因为如果我执行Toast它会显示我想要的文本,但按钮具有旧字符串)。

@Override
public void onResume() {
    super.onResume();
    if(ban == 0) {
        reDraw();
        fillInfo();

        SharedPreferences sharedPreferences = getSharedPreferences("layoutRequestData", Context.MODE_PRIVATE);
        getFlagSendBill = sharedPreferences.getBoolean("flagSendBill", false);//comenzar servicio

        if(getFlagSendBill == true) {
            View view = LayoutInflater.from(this).inflate(R.layout.request,null);
            buttonBService = (Button) view.findViewById(R.id.buttonBeginService);
            //buttonBService = (Button) findViewById(R.id.buttonBeginService);
            buttonBService.setText("Ver Recibo");

            Toast.makeText(this,"LALALA" + buttonBService.getText(),Toast.LENGTH_SHORT).show();
        }
        else{
           // buttonBService = (Button) findViewById(R.id.buttonBeginService);
            //buttonBService.setText("Comenzar Servicio");
        }
    }
}

我的buttonBService和我的getFlagSendBill是公开的

2 个答案:

答案 0 :(得分:2)

为什么要给新布局充气?您应该更改现有布局上的文本。通过膨胀新的而不将其设置为上下文视图,您将更改屏幕上永远不会出现的按钮上的文本。

答案 1 :(得分:0)

您正在覆盖孔按钮,请查看活动生命周期, 好的做法是在onCreate方法中初始化按钮,然后在onResume中分配任何值,这同样适用于视图....

enter image description here