TextView 不显示所需的文本

TextView doesn't show the required text

我的 MainActivity class 有一个如果检查是真的它会启动一个新的 ActivityTextView 的文本设置为我想要的。

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() 之前调用它,在生成视图层次结构之前。因此,您的代码失败了。