您的位置:首页 > 其它

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);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: