Establecer LayoutParams de ListView cuando se utiliza DrawerLayout con fragmentos

Quiero cambiar el ancho y la altura de mi Listview que se encuentra en mi DrawerLayout :

 DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); DrawerLayout.LayoutParams myParam = new DrawerLayout.LayoutParams(20, 20); mDrawerList.setLayoutParams(myParam); 

Pero tengo este error:

 06-21 09:30:57.361: E/AndroidRuntime(12583): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jk.demo/com.jk.demo.MemoStart}: java.lang.IllegalArgumentException: View android.widget.ListView{414506a8 VFED.VC. ......I. 0,0-0,0 #7f04003a app:id/left_drawer} is not a sliding drawer 

Drawer_main.xml

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <ListView android:id="@+id/left_drawer" android:layout_width="540dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> 

Importé

 import android.support.v4.widget.DrawerLayout; import android.support.v4.widget.DrawerLayout.LayoutParams; 

¿Alguna solución?

Sin crear un nuevo objeto layoutParam, sólo puede configurar el ancho / alto de la lista como este

 mDrawerList.getLayoutParams().width = 20; mDrawerList.getLayoutParams().height = 20; 

Tenga en cuenta que 20 está en píxeles. Si desea establecer (normalmente) en el valor de dp, entonces usted necesita hacer alguna conversión

 int widthDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics()); int heightDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, getResources().getDisplayMetrics()); mDrawerList.getLayoutParams().width = widthDp; mDrawerList.getLayoutParams().height = heightDp; 

Si utiliza un adaptador personalizado para la vista de lista, puede inflar una imagen adecuada en el último elemento.
Para no perder el último elemento, puede agregar datos no válidos a los datos de la lista

  • agregar clic Listner en cada elemento de fila en ListView
  • OnItemClickListener con adaptador personalizado y listview
  • Listview / ExpandableListVer imágenes de contenido cuando se llama notifyDataSetChanged
  • ListView OverScroll
  • Quite el divisor inferior de un ListView de Android
  • Android - Cómo configurar el relleno para TextView en ListView o ExpandableListView
  • Android QuickContactBadge con letras como Android Lollipop
  • Cómo deshabilitar o no mostrar ningún encabezado para StickyListHeaders de emilsjolander
  • Animar agregar / quitar elementos de ListView con CursorAdapter es posible?
  • Android añadiendo pie de página a ListView addFooterView ()?
  • En ListView: la actividad ha filtrado ServiceConnection <youtube.player.internal> que estaba vinculado originalmente aquí
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.