android - onResume 中 View 为空

标签 android android-activity android-view android-lifecycle

我在 onCreate 中初始化 View ,有时在最小化应用程序后,对于某些用户来说, View 为 null。我无法重现这个错误。 GuiReceiver 是更新 Activity View 的接收器。

这是我的简化代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player_activity);
    tvTitle = (TextView) findViewById(R.id.title);
}

@Override
protected void onResume() {
    super.onResume();

    if (tvTitle != null)
        FirebaseCrash.log("onResume - tvTitle != null");
    else
        FirebaseCrash.log("onResume - tvTitle == null");

    IntentFilter filter = new IntentFilter();
    filter.addAction(CommonConstatns.GUI_UPDATE_ACTION);

    if (receiver == null) {
        receiver = new GuiReceiver();
        receiver.setPlayerActivity(this);
    }
}    

@Override
protected void onPause() {
    super.onPause();
    if (receiver != null) {
        unregisterReceiver(receiver);
        FirebaseCrash.log("GUIReceiver unregistered");
    }
}
<activity
    android:name=".activity.PlayerActivity"
    android:launchMode="singleTask"
    android:screenOrientation="userPortrait" />

最佳答案

除非 tvTitle 被声明为类的实例变量,否则我会将以下代码行移至 onResume 方法中:

tvTitle = (TextView) findViewById(R.id.title);

关于android - onResume 中 View 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41745982/

相关文章:

java - 在运行时更新默认值并在 android studio 中使用新值进行计算

android - 当我们在 Activity 之间来回切换时保存动态生成的 View 实例

android - 如果 Android Activity 是当前 View ,它如何访问该实例?

android - 自动切换背景

android - 在 Scroll 上获取当前字母?

java - AsyncTask 泄漏 : Robospice and AndroidAnnotations

android - 将应用程序部署到设备后如何启动另一个 Activity 作为主要 Activity 和启动程序

java - TouchWiz 启动器检测

android - (新手)有人可以给我一个 Activity 级别偏好的例子吗?

android - 跟踪当前在屏幕上可见的列表中的所有项目