【第22期】观点:IT 行业加班,到底有没有价值?

用到ListActivity中 , @+id/android:list"和"@android:id/list"的写法

转载 2015年07月10日 10:57:42

Android中的列表,当然也可以用ListView来完成所需要的功能,用法是一样的。

废话不说,来关键的。

ListActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。

如果要用ListActivity,则 Activity的Layout文件中必须包括一个(只能一个)ListView,且ListView的id= "@id/android:list"。

如下代码,一个标准的ListActivity Layout文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">

<ListView android:id="@id/android:list"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>

<TextView id="@id/android:empty"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:background="#FF0000"
android:text="No data"/>
</LinearLayout>

请注意 ListView与TextView的id。前面说了,

1. ListView的Id为固定不变的,为"@id/android:list“,ListActivity会根据id自动查找ListView引用;在 Activity 中使用 setListAdapter(adapter); 时就默认设置到了这个list上。如果按一般控件的写法 <ListView android:id="@+id/myListView" …… />,则需要 findViewById 先得到控件对像,再调用对像的 setListAdapter(adapter); 

2. 但如果当ListView中没有值而又想提示一句话时,那么用于指定显示提示信息的TextView的id 必须为”"@id/android:empty",提示的信息可以通过android:text进行指定。


ps:以上细节一定要注意,否则会报错.

举报

相关文章推荐

@+id/android:list"和"@android:id/list"的写法

找到如下这篇文章,结合我在android2.3上看到的实际代码,做了标注,积累一个知识点。   Android中的列表,当然也可以用ListView来完成所需要的功能,用法是一样的。 废话不说,...

Android@id和@+id区别

原文地址: Android中的组件需要用一个int类型的值来表示,这个值就是组件标签中的id属性值。 id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc、@...

@+id/android:list"的写法

LiveActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。 如果要用ListActivity,则 Activity的Layout文件...

ListActivity ListView的id为什么要用@android:id/list

今天用到ListActivity这个Activity的子类,发现了一个问题,就是以前我们在学ListActivity的时候,如果用到了ListActivity,我们用自己定义的布局的时候,ListVi...

关于android使用已有id,自己的id和系统id

之前在eclipse中使用自定义的RatingBar,写的drawable文件如下: u014038534
  • u014038534
  • 2016-04-26 17:25
  • 1906
  • Android学习:将ListView中id与数据库中id关联

    做毕设过程中遇到一个问题:当用户点击ListView中条目删除相册时,需要为删除方法传递条目在数据库中对应的id,所以需要根据条目位置获取其在数据库中对应的id。 我的实现思路是:从数据库中获取id...
    • lissdy
    • lissdy
    • 2013-01-28 13:41
    • 5779

    Android:资源 id 及资源 id 的动态获取

    我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句:btnChecked=(ImageView)findViewById(R.id.imgC...
    • kmyhy
    • kmyhy
    • 2011-07-04 16:17
    • 68177

    Android Layer List 使用实现实例

    Layer List是Anroid中的一种图形的方式,它是通过叠加若干张图片的方式来形成最终的图片,最终的图片在代码中表现为一个LayerDrawable对象。在android UI 开发中会经常遇到...
    • cqtddt
    • cqtddt
    • 2014-12-20 19:44
    • 1064

    Your content must have a ListView whose id attribute is android.R.id.list和ListView注意

    解决方法是: 在ListView显示列表的时候,必须在main.xml文件里加上ListView这一个控件把标签ListView的id改为“android:id/list” 这个id表示是系统自带的...

    android开发中@+id/和android:id用法的区别?

    android开发中@+id/和android:id用法的区别?
    收藏助手
    不良信息举报
    您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
    举报原因:
    原因补充:

    (最多只允许输入30个字)