ArrayAdapter的使用
2015-08-16 22:25
316 查看
1.ArrayAdapter基本显示
private String data[] = { "光明科技","www.guangming.cn","讲师:林光明", "中国高校讲师联盟","www.jiangker.com","咨询邮箱:345873987@qq.com", "客户服务:gmkjhehe@163.com","客服电话:(010)07961100", "光明社区:bbs.gmkj.cn","程序员招聘网:http://www.javajob.cn" };//准备出若干个信息而这些信息以后将通过程序加入内嵌的线性布局文件之中 private ListView listView = null; //定义ListView组件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); this.listView = new ListView(this);//实例化组件 // this.listView.setAdapter(new ArrayAdapter<String>(this, // android.R.layout.simple_list_item_1,this.data));//为ListView组件设置内容 this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,this.data));//为ListView组件设置内容 super.setContentView(this.listView);//显示组件 }
2.继承ArrayAdapter
list.xml<?xml
version="1.0"encoding="UTF-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="@dimen/list_padding"
android:paddingRight="@dimen/list_padding">
</ListView>
==============================
row.xml
<?xml
version="1.0"encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/row_icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="10dp"
android:src="@drawable/ic_launcher"/>
<TextView
android:id="@+id/row_title"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical"
android:padding="10dp"
android:text="MediumText"
android:textAppearance="@android:style/TextAppearance.Medium"/>
</LinearLayout>
===============================
publicclass SampleListFragment extends ListFragment { @Override public ViewonCreateView(LayoutInflater inflater, ViewGroup container, BundlesavedInstanceState) { //return super.onCreateView(inflater, container,savedInstanceState); returninflater.inflate(R.layout.list, null); } @Override publicvoidonActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); SampleAdapteradapter = new SampleAdapter(getActivity()); for(int i=0; i<10; i++){ adapter.add(new SampleItem("Sample List"+i , android.R.drawable.ic_menu_search)); } setListAdapter(adapter); } privateclass SampleItem{ public String tag; publicinticonRes; public SampleItem(Stringtag, int iconRes){ this.tag = tag; this.iconRes = iconRes; } } privatestaticfinal class ViewHolder{ private ImageView icon; private TextView title; } publicclass SampleAdapter extendsArrayAdapter<SampleItem>{ publicSampleAdapter(Context context) { super(context,0); } @Override public View getView(int position, ViewconvertView, ViewGroup parent) { ViewHolderviewHolder = null; if( null == convertView){ viewHolder=new ViewHolder(); LayoutInflatermInflater = LayoutInflater.from(getContext()); convertView= mInflater.inflate(R.layout.row, null); viewHolder.icon = (ImageView)convertView.findViewById(R.id.row_icon); viewHolder.title = (TextView)convertView.findViewById(R.id.row_title); convertView.setTag(viewHolder); }else{ viewHolder=(ViewHolder)convertView.getTag(); } SampleItemsampleItem = getItem(position); if(null != sampleItem){ viewHolder.icon.setImageResource(sampleItem.iconRes); viewHolder.title.setText(sampleItem.tag); } //return super.getView(position, convertView, parent); return convertView; } @Override public SampleItem getItem(int position) { returnsuper.getItem(position); } } }
相关文章推荐
- python使用libssh2连接linux
- 项目实战之玩转div+css制作自定义形状
- 在Ubuntu上配置django环境系统架构命令
- vijos - P1286座位安排 (DP状态压缩 + 组合数 + python)
- 从docker-hub和docker-registry看优秀的后端服务设计实现
- postgresql 9.4.4 安装
- java基础-面向对象概述
- PCA-Principal Components Analysis数学原理
- python使用libssh2连接linux
- 坚持写东西
- 剑指offer——面试题22:栈的压入、弹出序列
- 黑马程序员——Java基础--集合框架(2)
- 【leetcode】Add Digits【java】
- 命运的安排
- python xpath
- 剑指offer:合并两个排序的链表
- Linux/unix 配置java环境变量
- python xpath
- is not writable or has an invalid setter method错误的解决
- .NET平台调用(Win32 P/Invoke)