目前,我有如下的佈局我如何能自動調整大小列表視圖,因此不會滾動
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginTop="9px"
android:layout_below="@+id/desc"
android:id="@+id/ll_item"
android:orientation="vertical"
android:paddingRight="3px"
android:paddingLeft="3px"
android:paddingBottom="5px"
android:paddingTop="5px"
android:background="@drawable/rounded_corner_lists" >
<!--
<ListView android:drawSelectorOnTop="false" android:id="@+id/lv" android:layout_height="fill_parent" android:layout_width="wrap_content" android:divider="#ddd" android:dividerHeight="1px" android:background="@drawable/white" />
-->
</LinearLayout>
,我已經註釋掉列表視圖,我試圖讓這個在XML中,以高度設定到WRAP_CONTENT,FILL_PARENT,目前我與編程下面的代碼
LinearLayout ll_item = (LinearLayout) this.findViewById(R.id.ll_item);
if(list.length() > 0)
{
ll_item.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,calcListHeight(list));
listview = new ListView(this);
listview.setBackgroundResource(R.drawable.white);
listview.setDivider(new ColorDrawable(this.getResources().getColor(R.drawable.dividercolor)));
listview.setDividerHeight(1);
listview.setCacheColorHint(0);
mAdapter = new JSONAdapter(list, this);
listview.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
ll_item.addView(listview, lp);
}
這這樣做是結果
這樣你就可以在這個圖像中看到的,因爲我包含在LinearLayout中的列表視圖,以獲得圓角的外觀,它不只是自動延伸到包含整個列表視圖,沒有任何如何讓這兩個元素垂直包裝內容,以便在沒有編程設置高度的情況下不會滾動? ? ?
我想一兩件事,我應該提到的是,我擁有這一切的佈局在滾動視圖,因爲我想這個列表視圖是整個佈局的一個微小的款,所以它會像
-scrollview
-textview
-textview
-linearlayout
-listview
- 按鈕
這裏是我有什麼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent"
android:background="@drawable/bg" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titlebar">
<ScrollView android:id="@+id/sv" android:layout_width="fill_parent" android:background="@drawable/bg"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:id="@+id/widget28"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="4dip"
>
<LinearLayout android:orientation="vertical" style="@style/rounded_corner_full_width_button"
android:id="@+id/editfields">
<ListView android:drawSelectorOnTop="false" android:id="@+id/lv" android:layout_height="fill_parent"
android:layout_width="wrap_content" android:divider="#ddd" android:dividerHeight="1px"
android:background="@drawable/white"/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>
感謝亞當,我已經有一個適配器,我能夠與使用的LinearLayout您提示重新使用。 – 2011-06-01 22:26:31
謝謝!與Artem相同,我可以使用線性佈局重新使用我的適配器。 – hyui 2011-11-07 15:45:23
謝謝亞當。你的適配器是否需要異步?當我嘗試這個時,它只抓住我的第一個項目,就像適配器沒有完成加載。 – annie 2012-09-10 18:11:45