Упражнение CRUD - ListView - PullRequest
       6

Упражнение CRUD - ListView

0 голосов
/ 11 апреля 2019

Я не знаю, как создать опцию редактирования, все, что я пытаюсь, вылетает. Другие варианты работают хорошо. Это упражнение касается кнопок «Редактировать», «Показать», «Поиск» и «Добавить» с использованием ListView.

Все, что прокомментировал, показывает ошибку. Я ставлю свой MainActivity:

public class Main3Activity extends AppCompatActivity {
EditText txtpais,txtreemplazar;
ListView listaPaises;
ArrayList<String>Paises=new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);

    txtpais=findViewById(R.id.txtpais);
    listaPaises=findViewById(R.id.LvPaises);
}

public void onClick(View btn){
    String pais;
    //String reemplazar;
    ListAdapter listAdapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,Paises);

    try{
        pais=String.valueOf(txtpais.getText().toString());
    }catch(Exception e){
        pais="-";
    }

    int z= Paises.indexOf(pais);

    switch (btn.getId()){
        case R.id.btnAgregar:
            if (pais=="-"){
                Toast.makeText(this, "No se ha ingresado ningun país", Toast.LENGTH_SHORT).show();
            }else {
                Paises.add(pais);
                listaPaises.setAdapter(listAdapter);
            }
            txtpais.setText("");
            break;
        case R.id.btnEliminar:
            Paises.remove(z);
            listaPaises.setAdapter(listAdapter);
            break;
        case R.id.btnBuscaryReemplazar:
            ArrayList<String> listaFiltrada=new ArrayList<>();
            listaFiltrada.clear();
            for (int i=0;i<Paises.size();i++){
                if (Paises.get(z)==Paises.get(i))
                    listaFiltrada.add(Paises.get(z));
            }
            ListAdapter listAdapterF=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,listaFiltrada);
            listaPaises.setAdapter(listAdapterF);

            /*if (!txtreemplazar.getText().toString().isEmpty()){
                reemplazar=String.valueOf(txtreemplazar.getText().toString());
                Paises.set(Paises.indexOf(pais), reemplazar);
            }*/
            break;
        case R.id.btnMostrar:
            listaPaises.setAdapter(listAdapter);
            break;
    }
}

}

...