大家好,我刚学习android不久
昨天在网上下了个源码,发现作者对于获得按钮添加监听事件时都做了一个非空判断
代码如下:
TextView tv = (TextView)m_view.findViewById(R.id.tv);
        if( tv != null ){
            tv .setOnClickListener(new TextView.OnClickListener(){
                public void onClick( View v){
                  //...                }
            });
        }为什么需要对tv进行非空判断再添加监听呢?
求大神指点一二

解决方案 »

  1.   

    TextView tv = (TextView)m_view.findViewById(R.id.tv);
    编译成功不就代表tv不为空吗
    为什么还要加一个非空判断呢
      

  2.   


    编译成功不代表m_view页面上就有这个控件。
      

  3.   

    个人编码习惯吧,感觉这种null暴露出来更好
      

  4.   

    m_view如果这个View加载失败或者怎么的,有可能会出现这种情况。我看也没有什么必要,个人习惯。
      

  5.   

    TextView tv = (TextView)m_view.findViewById(R.id.tv);
      if( tv != null || ! tv.equls("") ){
    }
      

  6.   

    看来你对java和编译还没有入门,多打基础吧多看书,在论坛上不会得到你想要的答案。。