android - plantilla - cómo agregar una casilla de verificación en una vista de lista?
insertar checkbox en excel 2016 (5)
O puede extender cualquier ListAdapter a una subclase y anular bindView. ¡Dentro de si configuraras .setText para los ChecBoxes!
Tengo una pregunta, estado estancado por un tiempo, no sé cómo puedo agregar una casilla de verificación en la lista, por ejemplo, si tengo una lista de elementos, quiero poder consultarlos. mi código xml es el siguiente:
<LinearLayout android:id="@+id/topLayout"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_centerHorizontal="true" android:layout_height="wrap_content">
</LinearLayout>
<LinearLayout
android:id="@+id/middleLayout"
android:orientation="horizontal"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<LinearLayout android:id="@+id/leftMiddleLayout"
android:orientation="vertical" android:layout_below="@+id/topLayout"
android:layout_above="@+id/bottomLayout"
android:layout_width="60px" android:layout_height="wrap_content"
>
<ListView android:id="@+id/checkboxList" android:layout_width="fill_parent"
android:layout_height="wrap_content" ></ListView>
<CheckBox android:id="@+id/checkbox"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:checked="false"
android:text="test">
</CheckBox>
</LinearLayout>
<LinearLayout android:id="@+id/rightMiddleLayout"
android:orientation="vertical" android:layout_below="@+id/topLayout"
android:layout_above="@+id/bottomLayout"
android:layout_width="280px" android:layout_height="wrap_content"
>
<ListView android:id="@+id/list" android:layout_width="fill_parent"
android:layout_height="wrap_content" ></ListView>
<TextView android:id="@+id/text" android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/bottomLayout"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:paddingBottom="5pt"
>
<EditText android:id="@+id/insertNewItem"
android:layout_width="220px" android:layout_height="wrap_content" />
<TextView android:layout_width="10px" android:layout_height="wrap_content" />
<Button android:id="@+id/addItemButton" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:text="Add Item"/>
</LinearLayout>
si tiene alguna idea, por favor hágamelo saber, es para mis estudios académicos: ((
¡Gracias!
Si utiliza un ListAdapter (por ejemplo, un BaseAdapter personalizado) en su listaView con setAdapter () puede usar LayoutInflater dentro de getView () de su adaptador para suministrar cualquier diseño que desee para sus entradas de lista. Esto puede incluir un CheckBox.
Te recomiendo que veas este video del sitio de desarrolladores de Android sobre cómo hacer que tu interfaz de usuario de Android sea rápida y eficiente . Le dará un código para resolver su problema y le mostrará la forma correcta de implementar su adaptador para asegurarse de que sea lo más rápido posible.
public class myAdapter extends SimpleCursorAdapter {
public myAdapter(Context context, int layout, Cursor cursor, String[] from, int[] to) {
super(context, layout, cursor, from, to);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
cb=(CheckBox)view.findViewById(R.id.cb);
cb.setText(dbgetStringValue);
cbText=(TextView)view.findViewById(R.id.cbText);
cbText.setText(dbgetStringValue);
cb.setChecked(false);
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton cb, boolean isChecked) {
if(cb.isChecked()) {
// action
}
else if(isChecked==false) {
// action
}
}
});
}
}
¿Es eso lo que quieres?
final ListView lView = (ListView) findViewById(R.id.ListView01);
lView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, items));
lView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Aquí el artículo es una matriz.