我一直在閱讀有關多列列表視圖的內容。他們似乎是我需要的,但不能信息有關如何填充他們不使用哈希映射。我看到的所有示例都使用散列映射來構建listview數據適配器,但是當隱含大量數據時,這太重了。無論如何填充沒有哈希列表的列表視圖?在沒有散列圖的情況下填充多列列表視圖
所有的例子我見過使用這樣的事情: http://saigeethamn.blogspot.com.es/2010/04/custom-listview-android-developer.html
我一直在閱讀有關多列列表視圖的內容。他們似乎是我需要的,但不能信息有關如何填充他們不使用哈希映射。我看到的所有示例都使用散列映射來構建listview數據適配器,但是當隱含大量數據時,這太重了。無論如何填充沒有哈希列表的列表視圖?在沒有散列圖的情況下填充多列列表視圖
所有的例子我見過使用這樣的事情: http://saigeethamn.blogspot.com.es/2010/04/custom-listview-android-developer.html
是的,它是可能的。請檢查代碼。
public class List_view_ArrayAdapter extends ArrayAdapter<String> {
private Context context;
private String[] name;
private String[] address;
private String[] rating;
private TextView nameTextView;
private TextView addressTextView;
private ImageView lisiconImageView;
private AppManagers appManagers;
public List_view_ArrayAdapter(Context context, String[] name,
String[] address, String[] rating) {
super(context, R.layout.list_layout, name);
this.context = context;
this.name = name;
this.address = address;
this.rating = rating;
appManagers = new AppManagers();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.list_layout, parent, false);
nameTextView = (TextView) rowView.findViewById(R.id.nameTextView);
addressTextView = (TextView) rowView.findViewById(R.id.addressTextView);
lisiconImageView = (ImageView) rowView
.findViewById(R.id.listiconImageView);
nameTextView.setText(name[position]);
addressTextView.setText(address[position]);
lisiconImageView.setImageDrawable(appManagers
.ImageOperations(rating[position]));
// imageView.setImageResource(imageid[position]);
return rowView;
}
}
下面是該行 「R.layout.list_layout」
<?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="wrap_content"
android:orientation="horizontal" android:background="#d9d9d9">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginBottom="5dp" android:layout_marginTop="5dp">
<ImageView
android:id="@+id/listiconImageView"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" android:layout_marginLeft="5dp" android:gravity="center_vertical" android:layout_marginBottom="5dp" android:layout_marginTop="5dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name : "
android:textColor="#2a170e" />
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#2a170e" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Address : "
android:textColor="#2a170e" />
<TextView
android:id="@+id/addressTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#2a170e" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
Finaly您從您的主要活動稱之爲list_layout。
new List_view_ArrayAdapter arrayAdapter= new List_view_ArrayAdapter(context, appManagers.getNameArray(cafeandbarsList), name, address, rating);
listView.setAdapter(arrayAdapter);
我認爲這對你有幫助。
謝謝
customAdapter似乎是這裏最好的選擇。 – Notbad
任何示例?我今天沒有閱讀關於多列列表視圖。 – pawelzieba
你在哪裏保存數據?在數據庫或其他東西? – pawelzieba
爲什麼不只是一個自定義'Object'的ArrayList?還是「光標」? –