您必须通过自定义布局覆盖默认列表视图项。
在onCreate() 使用:
yourList = (ListView) findViewById(R.id.yourList);
arrayAdapter = new MyClassAdapter(this,android.R.layout.simple_list_item_1, results);
yourList.setAdapter(arrayAdapter);
在public class MyClassAdapter extends ArrayAdapter<Long> {
覆盖这个:
public View getView(int position, View convertView, ViewGroup list) {
View element;
if (convertView == null) {
element = View.inflate(ctx, R.layout.yourlayout, null);
} else {
element = convertView;
}
///setup your listview element
return element;
}
在res/layout/yourlayout.xml 文件中创建如下内容:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
更新
在res/layout/yourlayout.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
在onCreate():arrayAdapter.setQ(2);
在public class MyClassAdapter extends ArrayAdapter<Long> {
public class MyClassAdapter extends ArrayAdapter<Long> {
private int q = 2;
public void setQ(int num){
this.q = num;
}
public View getView(int position, View convertView, ViewGroup list) {
ViewGroup element;
if (convertView == null) {
element = (ViewGroup) View.inflate(ctx, R.layout.yourlayout, null);
} else {
element = (ViewGroup) convertView;
}
element.removeAllViews();
for (int i = 0; i < q; i++){
TextView tv = new TextView(this);
tv.setText("blablabla");
element.addChild(tv);
}
///setup your listview element
return element;
}