一般使用listview可以使用ArrayAdapter,simpleAdapter,也可以自定义Adapter
现在使用自定义的Adapter:
值:这里使用数组,当然也可以使用list集合
mValue=new String[]{convertToGender(getGender()),getBirthday(),getSignature()};
键:数组
mSetKey=this.getResources().getStringArray(R.array.person_profile_set_key);
class ListItemAdapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return mSetKey.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
获取每一项的view(行)的逻辑处理,使用软键盘的时候会重新刷新一下,其他的会不会,可以试一下,使用log日志查看一下
如果listview数据需要更新,千万要记得更新数组mValue,否则不会更新的
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LinearLayout layout=(LinearLayout)mInflater.inflate(R.layout.personal_profile_listitem,null);
TextView title=(TextView)layout.findViewById(R.id.personal_profile_listitem_title);
title.setText(mSetKey[position]);
TextView body=(TextView)layout.findViewById(R.id.personal_profile_listitem_body);
body.setText(mValue[position]);
return layout;
}
}
xml文件:
person_profile_listitem.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/personal_profile_listitem_title"
android:layout_width="100px"
android:layout_height="80px"
android:layout_marginLeft="20px"
android:gravity="center"
android:textSize="16dip"
/>
<TextView
android:id="@+id/personal_profile_listitem_body"
android:layout_width="180px"
android:layout_marginRight="20px"
android:layout_height="80px"
/>
</LinearLayout>
main.xml文件
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="@drawable/line"
android:listSelector="@drawable/selectitem"
android:drawSelectorOnTop="false">
</ListView>
使用系统预定义的listview,这时候Activity继承listactivity
当然也可以自己定义
<ListView android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="@drawable/line"
android:listSelector="@drawable/selectitem"
android:drawSelectorOnTop="false">
</ListView>
这时Acitivity不继承listactivity