安卓-ListActivity的使用

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.使用默认的样式显示一行文本

代码如下:

  1. import android.app.ListActivity;  
  2. import android.os.Bundle;  
  3. import android.view.View;  
  4. import android.widget.ArrayAdapter;  
  5. import android.widget.ListView;  
  6. import android.widget.Toast;  
  7.   
  8. /** 
  9.  * Created by wangwentao on 2017/2/3. 
  10.  * 说明:使用默认的布局显示一行文本 
  11.  */  
  12.   
  13. public class ListActivityOne extends ListActivity {  
  14.     @Override  
  15.     protected void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         //1.数据源  
  18.         String[] data = {"老师","学生","课桌","书本","铅笔","橡皮","粉笔","黑板","凳子","扫帚","簸箕","炉子","窗花","讲台","教鞭","小红花","花瓶"};  
  19.   
  20.         //2.适配器  
  21.         @SuppressWarnings("unchecked")  
  22.         ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data);  
  23.         //3.绑定  
  24.         setListAdapter(arrayAdapter);  
  25.     }  
  26.   
  27.     @Override  
  28.     protected void onListItemClick(ListView l, View v, int position, long id) {  
  29.         super.onListItemClick(l, v, position, id);  
  30.         Toast.makeText(ListActivityOne.this,"点中了第"+id+"个",Toast.LENGTH_LONG).show();  
  31.     }  
  32. }
解析:常见的显示样式包括以下几种

 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.使用默认样式显示两行文本

  1. import android.app.ListActivity;  
  2. import android.os.Bundle;  
  3. import android.view.View;  
  4. import android.widget.ListView;  
  5. import android.widget.SimpleAdapter;  
  6. import android.widget.Toast;  
  7.   
  8. import java.util.ArrayList;  
  9. import java.util.Hashtable;  
  10. import java.util.List;  
  11.   
  12.   
  13. /** 
  14.  * Created by wangwentao on 2017/2/3. 
  15.  */  
  16.   
  17. public class ListActivityTwo extends ListActivity {  
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         //1.数据源  
  22.         List listData = this.getData();  
  23.   
  24.         //2.适配器  
  25.         @SuppressWarnings("unchecked")  
  26.         SimpleAdapter simpleAdapter = new SimpleAdapter(this,  
  27.                 listData,  
  28.                 android.R.layout.simple_list_item_2,  
  29.                 new String[] {"name""desc"},  
  30.                 new int[] {android.R.id.text1, android.R.id.text2});  
  31.   
  32.         //3.绑定  
  33.         setListAdapter(simpleAdapter);  
  34.     }  
  35.   
  36.     //获取显示的数据  
  37.     private List getData()  
  38.   {  
  39.         List retList = new ArrayList();  
  40.         for(int index = 0; index < 50; ++index){  
  41.             Hashtable table = new Hashtable();  
  42.             table.put("name""name"+index);  
  43.             table.put("desc""desc"+index);  
  44.             retList.add(table);  
  45.         }  
  46.         return retList;  
  47.    }  
  48.   
  49.     @Override  
  50.     protected void onListItemClick(ListView l, View v, int position, long id) {  
  51.         super.onListItemClick(l, v, position, id);  
  52.         Toast.makeText(ListActivityTwo.this,"position:"+position+";id:"+id,Toast.LENGTH_LONG).show();  
  53.     }  
  54. }  
当然也能使用自定义的adapter listView能使用的方法 他都使用 不过是用 setListAdapter绑定的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值