ListActivity可以理解为是ListView和Activity的结合。主要用来显示列表数据。显示数据需要设置适配器。Adapter常用的有ArrayAdapter,SimpleAdapter和CursorAdapter。
ListActivity的使用步骤:1)继承自ListActivity,如:xxx extends ListActivity
2)重写onCreate方法,在该方法中,需要做三件事情:
a)准备数据源
b)设置适配器
c)绑定适配器
3)重写点击事件void onListItemClick(ListView l, View v, int position, long id)
下面分情况来讲解各种使用方法:
1.使用默认的样式显示一行文本
代码如下:
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- /**
- * Created by wangwentao on 2017/2/3.
- * 说明:使用默认的布局显示一行文本
- */
- public class ListActivityOne extends ListActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //1.数据源
- String[] data = {"老师","学生","课桌","书本","铅笔","橡皮","粉笔","黑板","凳子","扫帚","簸箕","炉子","窗花","讲台","教鞭","小红花","花瓶"};
- //2.适配器
- @SuppressWarnings("unchecked")
- ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data);
- //3.绑定
- setListAdapter(arrayAdapter);
- }
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- super.onListItemClick(l, v, position, id);
- Toast.makeText(ListActivityOne.this,"点中了第"+id+"个",Toast.LENGTH_LONG).show();
- }
- }
android.R.layout.simple_list_item_1 一行text ;
android.R.layout.simple_list_item_2 一行title,一行text ;
android.R.layout.simple_list_item_single_choice 单选按钮
android.R.layout.simple_list_item_multiple_choice 多选按钮
android.R.layout.simple_list_item_checked checkbox
2.使用默认样式显示两行文本
- import android.app.ListActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.ListView;
- import android.widget.SimpleAdapter;
- import android.widget.Toast;
- import java.util.ArrayList;
- import java.util.Hashtable;
- import java.util.List;
- /**
- * Created by wangwentao on 2017/2/3.
- */
- public class ListActivityTwo extends ListActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //1.数据源
- List listData = this.getData();
- //2.适配器
- @SuppressWarnings("unchecked")
- SimpleAdapter simpleAdapter = new SimpleAdapter(this,
- listData,
- android.R.layout.simple_list_item_2,
- new String[] {"name", "desc"},
- new int[] {android.R.id.text1, android.R.id.text2});
- //3.绑定
- setListAdapter(simpleAdapter);
- }
- //获取显示的数据
- private List getData()
- {
- List retList = new ArrayList();
- for(int index = 0; index < 50; ++index){
- Hashtable table = new Hashtable();
- table.put("name", "name"+index);
- table.put("desc", "desc"+index);
- retList.add(table);
- }
- return retList;
- }
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- super.onListItemClick(l, v, position, id);
- Toast.makeText(ListActivityTwo.this,"position:"+position+";id:"+id,Toast.LENGTH_LONG).show();
- }
- }