У меня есть список в моем приложении, управляемый с помощью адаптера. Внутри адаптера у меня есть кнопка для удаления элемента из списка, моя проблема в том, что я не вижу изменений сразу, мне нужно сбросить активность, чтобы обновить sh список. Есть ли способ обновить sh данные из getView на адаптере?
Activity
publi c class gestionCategorias extends AppCompatActivity {
private ListView listaCategorias;
private SQLAdmin sql;
private ArrayList<CategoriasModel> arrayCat;
private ImageButton delete;
private CategoriaAdapter adapter;
private EditText agregarCategoriaInput;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gestion_categorias);
listaCategorias = (ListView) findViewById(R.id.listaCategorias);
arrayCat = new ArrayList<>();
sql = new SQLAdmin(this);
delete = (ImageButton) findViewById(R.id.eliminarCategoria);
agregarCategoriaInput = (EditText) findViewById(R.id.agregarCategoriaInput);
loadDataInListView();
}
public void loadDataInListView() {
arrayCat = sql.getAllCategorias();
adapter = new CategoriaAdapter(this, arrayCat);
listaCategorias.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
Adapter => (Идея состоит в том, чтобы обновлять sh список, когда я нажимаю на кнопка "удалить")
public class CategoriaAdapter extends BaseAdapter {
private Context context;
private ArrayList<CategoriasModel>arrayList;
public CategoriaAdapter (Context context, ArrayList<CategoriasModel>arrayList){
this.context = context;
this.arrayList = arrayList;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inf = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inf.inflate(R.layout.categorialv , null);
final SQLAdmin sql = new SQLAdmin(context.getApplicationContext());
final TextView categoria_nombre = (TextView) convertView.findViewById(R.id.nombreCategoria);
final CategoriasModel categoriasModel = arrayList.get(position);
categoria_nombre.setText(categoriasModel.getNombre());
ImageButton eliminar = (ImageButton)convertView.findViewById(R.id.eliminarCategoria);
eliminar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sql.eliminarCategoria(arrayList.get(position).getId());
Toast.makeText(context.getApplicationContext() , "Categoria eliminada" , Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
}
Спасибо!