Tengo una actividad que está creando una lista de verificación, si cierro la actividad con el botón Atrás, la lista se guarda en una base de datos.
La lista de la base de datos se utiliza como contenido de MainActivity.
Así es como se verá mi aplicación:
Si presiono el List Itembotón, se debe agregar un nuevo elemento a la lista. ¿Cómo puedo agregar y mostrar un nuevo elemento (diseño con casilla de verificación y editar texto)?
¿Necesito un adaptador? No quiero que se repita la parte del "elemento de la lista".
Eso se ve así después de presionar 4 veces
Actividad
private ArrayAdapter mAdapter;
onCreate
ListView lv = (ListView) findViewById(R.id.my_list);
List<String> initialList = new ArrayList<String>(); //load these
mAdapter = new ArrayAdapter(this, android.R.id.text1, initialList)
lv.setadapter(mAdapter);
Cuando ocurre el evento
mAdapter.add(newString);
El método add en ArrayAdpater se encargará automáticamente de la notifyDataSetChanged()
llamada por usted y actualizará la pantalla.
TextWatcher es posible que no necesite esta parte, es si desea que el texto se agregue tan pronto como se cambie el texto, lo que su pregunta parece indicar, eso es arriesgado porque puede obtener entradas parciales, por lo que recomiendo un donebotón, en cuyo caso usted simplemente haz las afterTextChanged
cosas en el onClick
método.
EditText editText = (EditText) findViewById(R.id.my_edit_text);
editText .addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
//TODO: check it isnt emtpy
String text = arg0.getText().toString();
mAdapter.add(text);
//Hide the add item views again
arg0.setText("");
arg0.setVisibility(View.GONE);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) { /*nothing*/ }
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) { /*nothing*/ }
});
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras