ListView中设置默认id它有什么用
为什么不能自定义id(运行时会出错)
id在程序中并没有用到,为什么还要这样设置默认的id

解决方案 »

  1.   

       默认id ? 
      你是指Activity继承至ListActivity时吗 ? 如果是,是因为ListActivity类部需要这个id去获取你的Activity提供对应的ListView对象,通常也就是:
      <ListView android:id="@id/android:list"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:background="#00FF00"
                   android:layout_weight="1"
                   android:drawSelectorOnTop="false"/>  否则,会报异常的。
      

  2.   


    如果只是需要ListView对象为什么不能自定义id(运行时会出错)
      

  3.   


      看看Android API吧 : http://developer.android.com/reference/android/app/ListActivity.html  ListActivity类有个ListView的对象,它会解析 android:id="@id/android:list"的View对象,你不提供,当然会报异常的。
        
      

  4.   

    可以自定义,定义之后在使用时就像一般的控件(比如button)一样使用listview,这样使用普通Activity就可以,不需要继承于ListActivity
    而用它默认的id可以方便地引用listview,但是Activity需要继承于ListActivity
      

  5.   

    继承于ListActivity的Activity中用getListView()就可以获取listview,这种情况下默认的id就不能改
      

  6.   

    而一般的Activity,你可以随意定义listview的id,但是使用时需要这样写:
    Listview listview=(Listview)findViewById(R.id.你定义的id);
      

  7.   


    我想知道的就是这个为什么不能改
    在程序中并没有用到id(findViewById())这个是android规定的吗?必须按照这个标准吗?
      

  8.   

    如果继承了ListActivity就必须这样命名
      

  9.   

    很好理解,看下ListActivity源码就知道了To do this, your own view MUST contain a ListView object with the id "@android:id/list"