Android:单个TextView为null

时间:2014-05-13 13:55:28

标签: android nullpointerexception textview

我刚刚将我的测试智能手机从Android 4.1.1更新到4.1.2,我收到的NullPointerException之前没有显示过。

这是onCreate()及后续方法。请注意,函数isOnline()运行良好。

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);

        //fillStatusBar(isOnline());
        fillStatusBar(false);

    }

    private void fillStatusBar(boolean isOnline){
        TextView txt = (TextView) findViewById(R.id.txt_menu_connection_status);
        if(isOnline){
            //if(txt != null){
                txt.setBackgroundColor(0xFF78AB46); // NullPointerException!!!
                txt.setText("online");  
            //}
        }else{
            // TODO also an alert
            txt.setBackgroundColor(0xFFF08080);
            txt.setText("offline");
        }
    }

在activity_menu.xml中(例如,此处的第一个按钮正常显示):

<!-- (...) -->
<TextView style="@style/MainButton"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:layout_marginBottom="20dip"
        android:text="@string/info"
        android:onClick="onClickInfo"
        />

    <TextView
        android:id="@+id/txt_menu_connection_status"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="2dip"
        />

我评论了引发NullPointerException的行。如果我进行检查if(txt != null),则不会抛出任何异常,并且布局正常显示而没有单TextView。这怎么可能呢?我还可以提供什么来评估这个案例?

关注LogCat的图像。几秒钟后日志就会消失,同时保存日志时它也是空的。

enter image description here

0 个答案:

没有答案