从对象数组列表填充列表视图 [英] Populate listview from arraylist of objects
本文介绍了从对象数组列表填充列表视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个列表活动,它将显示一个人名和地址列表,其中包含来自对象数组列表的数据.到目前为止,这是填充列表视图的方法..
I have a listactivity which will display a list of persons name and address with data from arraylist of objects. here's the method to fill the listview so far..
private void fillData(ArrayList<Person> messages) {
//populating list should go here
}
person 类存储一个人的姓名和地址.
The person class is stores name and address of a person.
public class Person {
String name;
String address;
}
虽然我的列表视图的列表项包含两个文本视图,如下所示:
While my listitem for my listview consist of two textview, like this :
<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:mode="twoLine"
android:clickable="false"
android:paddingBottom="9dp"
android:paddingTop="5dp" >
<TextView
android:id="@+id/display_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/display_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/display_name"
android:layout_below="@+id/display_name"
android:textAppearance="?android:attr/textAppearanceSmall" />
我希望列表视图中的每个项目都显示每个人的姓名和地址.有人可以帮忙吗?
I want each item in my listview to displaying both the name and address of each person. Can somebody please help ?
提前致谢,抱歉我的英语不好...
Thanks in advance, and sorry for my bad English...
推荐答案
在您的活动中
AdapterPerson adbPerson;
ArrayList<Person> myListItems = new ArrayList<Person>();
//then populate myListItems
adbPerson= new AdapterPerson (youractivity.this, 0, myListItems);
listview.setAdapter(adbPerson);
适配器
public class AdapterPerson extends ArrayAdapter<Person> {
private Activity activity;
private ArrayList<Person> lPerson;
private static LayoutInflater inflater = null;
public AdapterPerson (Activity activity, int textViewResourceId,ArrayList<Person> _lPerson) {
super(activity, textViewResourceId, _lProducts);
try {
this.activity = activity;
this.lPerson = _lPerson;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
} catch (Exception e) {
}
}
public int getCount() {
return lPerson.size();
}
public Product getItem(Product position) {
return position;
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder {
public TextView display_name;
public TextView display_number;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
final ViewHolder holder;
try {
if (convertView == null) {
vi = inflater.inflate(R.layout.yourlayout, null);
holder = new ViewHolder();
holder.display_name = (TextView) vi.findViewById(R.id.display_name);
holder.display_number = (TextView) vi.findViewById(R.id.display_number);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.display_name.setText(lProducts.get(position).name);
holder.display_number.setText(lProducts.get(position).number);
} catch (Exception e) {
}
return vi;
}
}
这篇关于从对象数组列表填充列表视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文