TextView 不显示所需的文本
TextView doesn't show the required text
我的 MainActivity
class 有一个如果检查是真的它会启动一个新的 Activity
将 TextView
的文本设置为我想要的。
MainActivity
:
public static int caseA = 1;
if(caseA) {
Intent i = new Intent(Timer.this, WorkTimerNotification.class);
startActivity(i);
}
然后它转到新的 Activity
并且它应该检查 caseA
.
的值
WorkTimerNotification
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work_timer_notification);
TextView timerMetric = (TextView)findViewById(R.id.tester_texter);
if(MainActivity.caseA) {
timerMetric.setText("min");
}
问题:它没有改变文本。另外,假设我在 mainactivity 中还有许多其他 if 语句,例如:
if(caseB) {}
if(caseC) {}
//and so on..
我将如何执行检查?更重要的是,我如何才能让这个 caseA 检查生效。
您需要在 onCreate()
中调用 findViewById()
:
private TextView timerMetric;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work_timer_notification);
timerMetric = (TextView)findViewById(R.id.tester_texter);
if(caseA) {
timerMetric.setText("min");
}
}
现在您在调用 setContentView()
之前调用它,在生成视图层次结构之前。因此,您的代码失败了。
我的 MainActivity
class 有一个如果检查是真的它会启动一个新的 Activity
将 TextView
的文本设置为我想要的。
MainActivity
:
public static int caseA = 1;
if(caseA) {
Intent i = new Intent(Timer.this, WorkTimerNotification.class);
startActivity(i);
}
然后它转到新的 Activity
并且它应该检查 caseA
.
WorkTimerNotification
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work_timer_notification);
TextView timerMetric = (TextView)findViewById(R.id.tester_texter);
if(MainActivity.caseA) {
timerMetric.setText("min");
}
问题:它没有改变文本。另外,假设我在 mainactivity 中还有许多其他 if 语句,例如:
if(caseB) {}
if(caseC) {}
//and so on..
我将如何执行检查?更重要的是,我如何才能让这个 caseA 检查生效。
您需要在 onCreate()
中调用 findViewById()
:
private TextView timerMetric;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_work_timer_notification);
timerMetric = (TextView)findViewById(R.id.tester_texter);
if(caseA) {
timerMetric.setText("min");
}
}
现在您在调用 setContentView()
之前调用它,在生成视图层次结构之前。因此,您的代码失败了。