我需要将复选框放在listview的左侧(multichoice)。 这应该很简单,但我无法完成。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<TextView
android:id="@+id/lblTipoSolucionTarea"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="22dp"
android:layout_marginRight="10dp"
android:gravity="right|center_vertical"
android:text="Tareas:"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#7c3808"
android:textSize="22sp" />
<ListView
android:id="@+id/lstTipoSolucionTarea"
android:layout_width="wrap_content"
android:layout_height="145dp"
android:layout_marginLeft="20dp"
android:background="@android:drawable/list_selector_background"
android:choiceMode="multipleChoice"
android:scrollbarStyle="outsideOverlay" >
</ListView>
</LinearLayout>
ArrayAdapter ListViewAdapterTarea = new ArrayAdapter(oPadre,android.R.layout.simple_list_item_multiple_choice,lTipoSolucion.get(0).getTiposSolucionTareas())
{
public View getView(int position, View convertView, ViewGroup parent)
{
View v = super.getView(position, convertView, parent);
((TextView) v).setTypeface(oPadre.goFontBold);
((TextView) v).setTextSize(lblTipoSolucionTarea.getTextSize());
return v;
}
};
lstTipoSolucionTarea.setAdapter(ListViewAdapterTarea);
谢谢
此致
答案 0 :(得分:1)
您的ArrayAddapter
使用左侧有复选框的android.R.layout.simple_list_item_multiple_choice
。要解决您的问题,您可以定义自己的布局。下面的代码段可以解决您的问题。将其另存为row_item.xml
并与listview适配器一起使用。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<CheckBox
android:id="@+id/chbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"/>
</LinearLayout>
请注意,您必须填充getView()
方法中的所有字段。
希望有所帮助:)