在android中运行时设置ListView的高度

Sek*_*kar 5 android listview

如何设置ListView的高度.

XML代码(此代码工作正常,固定高度为200 dip)

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:orientation="vertical" >
    <ListView
        android:id="@+id/dialog_ListView"
        android:layout_width="wrap_content"
        android:layout_height="200dip"
        android:padding="5dip"
        android:layout_weight="1"
        android:dividerHeight="5dip"
        android:divider="@android:color/transparent" />        
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Android代码(此代码不固定宽度和高度)

convertView = mInflater.inflate( R.layout.dialog_page, null );
convertView.setLayoutParams( new ListView.LayoutParams( 200, 300) );
Run Code Online (Sandbox Code Playgroud)

Android代码(此代码我收到错误消息)

convertView = mInflater.inflate( R.layout.lock_file_page, parent );
convertView.setLayoutParams( new ListView.LayoutParams( 200, 300) );
Run Code Online (Sandbox Code Playgroud)

错误信息

java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
Run Code Online (Sandbox Code Playgroud)

如何在运行时修复宽度和高度.

提前致谢.

Meh*_*oki 27

试试这个代码..

 LayoutParams lp = (LayoutParams) mListView.getLayoutParams();
 lp.height = 300;
 mListView.setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)

  • `LinearLayout.LayoutParams lp =(LayoutParams)mListview.getLayoutParams();`添加此项工作正常. (2认同)