java - 为什么 setText 会导致我的程序失败,而 Toast 不会?
问题描述
未注释时的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。我知道该变量有效,因为 toast 显示了正确的变量。提前致谢。
解决方案
当我尝试运行您的代码时,它运行良好,我认为您要么将 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);
推荐阅读
- r - 如何生成多个虚拟变量?
- f# - Fable 与 EventTarget 的语法混淆
- modelica - Modelica中图形项的常用定义
- php - 如何让 /bin/bash 在 Composer 中运行所需的 php 版本?
- vue.js - Vuetify 带有图标的默认按钮并在切换时更改颜色
- java - 如何将c#中的字典作为参数传递给java中实现的soap Web服务方法
- typo3 - Typoscript:获取 fe 用户关联图像的图像路径
- android - 从最近清除应用程序时,Android Work Manager 定期工作请求不会重复
- android - 可绘制资源文件仅在大屏幕上工作而不在小屏幕上工作
- android - 如何为 android deeplink/applink 管理两个不同的意图过滤器?