android - 如何在 ListView 多选中将位置设置为复选框

标签 android listview checkbox position

我需要将复选框放在 ListView 的左侧(多选)。 这应该很简单,但我无法完成。

<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);

谢谢

问候

最佳答案

您的 ArrayAddapter 使用左侧有复选框的 android.R.layout.simple_list_item_multiple_choice。要解决您的问题,您可以定义自己的布局。下面的代码 fragment 应该可以解决您的问题。将其保存为 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() 方法中的所有字段。

希望有所帮助:)

关于android - 如何在 ListView 多选中将位置设置为复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24702952/

相关文章:

jquery - jqgrid是否支持多复选框列表编辑

c# - 复选框和模型绑定(bind)的动态列表

android - 在 android 2.x 上获取 webViewClient.shouldInterceptRequest()

android - 截取整个 ListView 的屏幕截图,即使整个 ListView 元素在屏幕上不完全可见

android - 从微调器下拉列表中删除边距

android - 我无法在 R.id.list 中引用 ListView?

fragment 示例中的 Android ListView

android - react native : Problem with the modules of my application?

安卓 ListView : Updating invisible views or disabling recycling

android - 复选框未更改 UI 中的选中状态?