为什么setText导致我的程序失败,而Toast却没有?

时间:2019-06-27 06:32:25

标签: java android

未注释的setText方法会使活动/程序崩溃。但是,当它只是具有相同变量的Toast时,效果很好。

    int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
    int min = Calendar.getInstance().get((Calendar.MINUTE));

    int ft = hour + min;

    int second = Calendar.getInstance().get(Calendar.SECOND);
    if(second<10){
        second = second + 10;
    }

    String sft = Integer.toString(ft);
    String ssecond = Integer.toString(second);
    fid = sft + ssecond;


    Toast.makeText(addRoll.this, fid, Toast.LENGTH_LONG).show();
    id.setText(fid);

因此,应将TextView更改为创建的4位数字。当前是0000。我知道该变量有效,因为吐司显示了正确的变量。预先感谢。

1 个答案:

答案 0 :(得分:0)

当我尝试运行您的代码时,它运行良好,我认为您可能会保留TextView Null或您正在使用的Textview ID具有不同于“ id”的名称。 也许尝试发布整个“活动和更新”问题,以便我们可以看到错误在哪里。 这是我修改的代码。

TextView textView=(TextView)findViewById(R.id.idTV);
        int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
        int min = Calendar.getInstance().get((Calendar.MINUTE));

        int ft = hour + min;

        int second = Calendar.getInstance().get(Calendar.SECOND);
        if(second<10){
            second = second + 10;
        }

        String sft = Integer.toString(ft);
        String ssecond = Integer.toString(second);
        String fid = sft + ssecond;


        Toast.makeText(getApplicationContext(), fid, Toast.LENGTH_LONG).show();
        textView.setText(fid);