通过ListActivity创建一个ListView
2015-10-27 21:24
232 查看
ListView本身是一种接口组件,一般可以利用适配器来创建一个ListView,也可以利用资源文件中数组标签来创建一个ListView。
下面介绍怎么利用资源数据通过使用ListActivity来创建并控制一个ListView:
xml布局文件中代码:
创建一个ListActiviyt,代码如下。当然在系统自动创建的MainActivity中将继承的Activity改成ListActivity,然后在onCreate()方法中添加代码也是可以的:
注意:这里第一个TextView是用来显示点击ListView上Item上的文字,id可以自定义。第二个是ListView空间,这里的id是固定不变的,因为ListActivity会利用
getListView()方法通过@android:id/list找到xml中ListView。
下面介绍怎么利用资源数据通过使用ListActivity来创建并控制一个ListView:
xml布局文件中代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/textview" android:text="显示listview的item"/> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/list" android:layout_weight="1" android:drawSelectorOnTop="false" ></ListView> </LinearLayout>资源数组文件value.xml中定义一个string-array,代码如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">MyAlertDialog</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string-array name="weekday"> <item>星期一</item> <item>星期二</item> <item>星期三</item> <item>星期四</item> <item>星期五</item> <item>星期六</item> <item>星期日</item> </string-array> </resources>
创建一个ListActiviyt,代码如下。当然在系统自动创建的MainActivity中将继承的Activity改成ListActivity,然后在onCreate()方法中添加代码也是可以的:
package com.example.myalertdialog; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; public class MyListViewActivity extends ListActivity { private ListView myListView = null; private TextView myTextView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listviewlayout); setupViewComponent(); } private void setupViewComponent(){ myTextView = (TextView)this.findViewById(R.id.textview); ArrayAdapter<CharSequence> myAdapter = ArrayAdapter.createFromResource(this, R.array.weekday, android.R.layout.simple_list_item_1); //通过ArrayAdapter.createFromResource()方法加载数组资源。android.R.layout.simple_list_item1是Anroid中一个列表项显示的格式 setListAdapter(myAdapter); //设置ListView的适配器 myListView = getListView(); //通过固定@android:id/list得到ListView对象。 myListView.setTextFilterEnabled(true); AdapterView.OnItemClickListener listviewOnItemClick = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position,long id) { myTextView.setText(((TextView)view).getText()); } }; myListView.setOnItemClickListener(listviewOnItemClick); } }
注意:这里第一个TextView是用来显示点击ListView上Item上的文字,id可以自定义。第二个是ListView空间,这里的id是固定不变的,因为ListActivity会利用
getListView()方法通过@android:id/list找到xml中ListView。
相关文章推荐
- 与Javascript相关的数据结构和算法
- sublime text 2中Emmet8个常用的技巧 .
- 洛谷2657 低头一族
- 第7周项目6 停车场模拟
- S7-1500 CPU 和显示屏的固件更新说明
- [python]从零开始学python——颜色的16进制于RGB之间的转换
- Unity AssetBundle爬坑手记
- 在eclipse 上配置maven
- 团队作业Week6:规格说明书编写
- java Vamei快速教程10 接口的继承和抽象类
- UML之事物
- 【日常学习】【树形DP】【树的最小点覆盖】tyvj1377 荒山突围题解
- OpenGL
- Ppoe连接校园网
- 刚才读《基于Lucene的中文自然语言搜索引擎》后感
- NSKeyedArchiver归档的使用
- 手动添加模块路径
- Android之3.5版的百度地图的定位、覆盖物实现以及覆盖物的点击事件
- 找一个数组中缺失的数字
- hadoop学习笔记之<hadoop fs命令详解>