ListActivity中android:id="@+id/android:list"
来源:互联网 发布:编程资料 编辑:程序博客网 时间:2024/05/07 06:51
ListActivity中android:id="@+id/android:list"是啥玩意儿?
在用LIST ACTIVITY时,如果自定义VIEW,采用setContentView()方法导入一个LAYOUT资源文件时,在这个资源文件的LISTVIEW部分的ID常采用:android:id="@+id/android:list",这是啥玩意呢?
首先可以先参考这篇文章,入下门吧。http://blog.sina.com.cn/s/blog_908e1e4a0100v2yj.html
android:id="@+id/android:list" 说明可以是“@+id/list1234"
但程序里就需要改动啦
默认的 setListAdapter(adapter)
它是使用系统默认的id 必须是"@+id/android:list"
当自定义id时,程序里就不能直接 setListAdapter(adapter);
改动:
程序里:
ListView list=(ListView)findViewById(R.id.list1234);
...
....
list.setListAdapter(adapter)
其实,"@+id/android:list“对应的就是:ANDROID SDK 安装盘:\AndroidSDK\platforms\android-16\data\res\values下ids.xml文件中定义的ID资源了,也就是说,如果在LIST ACTIVITY中,如果要自己自定义LIST VIEW,那么,这个LIST VIEW的ID,应该要设置成为:"@+id/android:list"。
网上一些文章讲得比较明白了,不过我还是一知半解,经过自己的动手实践,总算搞明白了,在上面导入的LAYOUT资源文件中,我将LISTVIEW的ID改为” android:id="@+id/list"“,结果ECLIPSE的LOG CAT中用红色提示显示,可以看到下面灰色一行的英文提示:LSITVIEW的ID要为:android.R.id.list,而它就是:"@+id/android:list了,呵呵。下面是截图:
附上源代码吧,注意,运行后,就可以在LOG CAT中看到上面的红色提示了。
src部分:
package com.mobile.infos;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import android.widget.ListView;
import android.widget.AdapterView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;
import android.util.Log;
import android.content.Intent;
import android.app.ListActivity;
public class MainActivity extends ListActivity {
private static final String TAG="eoeInforsAssistant";
List<Map<String,Object>> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_main);
refreshListItems();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private void refreshListItems()
{
list=BuildListForSimpleAdapter();
SimpleAdapter notes=new SimpleAdapter(this,list,R.layout.item_row,
new String[]{"name","desc"},new int[]{R.id.name,R.id.desc});
this.setListAdapter(notes);
}
private List<Map<String,Object>> BuildListForSimpleAdapter()
{
List<Map<String,Object>>list=new ArrayList<Map<String,Object>>(3);
Map<String,Object> map=new HashMap<String,Object>();
map.put("name", "系统信息");
map.put("desc", "查看设备系统版本,运行商以及系统信息");
list.add(map);
map=new HashMap<String,Object>();
map.put("name", "硬件信息");
map.put("desc", "查看设备硬件信息");
list.add(map);
map=new HashMap<String,Object>();
map.put("name", "软件信息");
map.put("desc", "查看软件信息");
list.add(map);
map=new HashMap<String,Object>();
map.put("name", "运行时信息");
map.put("desc", "查看设备设备运行时信息");
list.add(map);
map=new HashMap<String,Object>();
map.put("name", "文件浏览器");
map.put("desc", "浏览查看文件");
list.add(map);
return list;
}
}
Layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/list">
</ListView>
</LinearLayout>
- ListActivity中android:id="@+id/android:list"
- 用到ListActivity中 , @+id/android:list"和"@android:id/list"的写法
- ListActivity ListView的id为什么要用@android:id/list
- android 中android:id="@android:id/list"与android:id="@+id/picture"
- android中ListActivity使用记录Your content must have a ListView whose id attribute is 'android.R.id.list'
- exlipse中listactivity 布局文件中listview的id应为android:list
- android:id="@+id/android:list" 说明
- android:id="@+id/android:list" 说明
- ListActivity/ListView用法 与 @+id 与 @android:id 关系小解
- ListActivity/ListView用法 与 @+id/ 与 @android:id 关系小解
- android中id与+id
- andorid 中android:id="@+id/btn"跟android:id="@android:id/tabhost" 区别
- @android:id/empty(非ListActivity编码实现方式)
- @+id/android:list"和"@android:id/list"的写法
- @+id/android:list"和"@android:id/list"的写法
- @+id/android:list"和"@android:id/list"的写法
- @+id/android:list"和"@android:id/list"的写法 .
- @+id/android:list"和"@android:id/list"的写法
- 屏幕适配小结
- 哎!不愧是大神啊
- RHEL5.2内核升级过程
- Oracle session nls_date_format
- 盗梦空间
- ListActivity中android:id="@+id/android:list"
- HDU - 2224 The shortest path (双调欧几里德旅行商问题)
- 基于XMPP的即时通讯工具(一)
- Java应用打包后运行需要注意编码问题
- Angular的一些知识点
- MyEclipse2014快速配置Spring & Spring Testing, Spring AOP简单使用
- 天声人語 20150724
- JAVA流操作(2)文件流
- Lowest Common Ancestor of a Binary Search Tree