我的噩梦是从ArrayAdapter<String>
. 由于这种现象,我已经避免使用这种方法将近 6 年了 :(
我的适配器是:
private class MyAdapter extends ArrayAdapter<String> {
private final Context context;
private final Bitmap[] slike;
private final String[] nazivi;
private final String[] grad_freq;
private final boolean[] omiljeni;
MyAdapter (Context c, Bitmap[] slike, String[] nazivi, String[] grad_freq, boolean[] omiljeni) {
super(c, R.layout.row, R.id.textView1, nazivi);
this.context = c;
this.slike = slike;
this.nazivi = nazivi;
this.grad_freq= grad_freq;
this.omiljeni = omiljeni;
}
// ...
}
现在,它看起来像:
private class MyAdapter extends ArrayAdapter<String> {
private final Context context;
private final ArrayList<Bitmap> slike;
private final ArrayList<String> nazivi;
private final ArrayList<String> grad_freq;
private final ArrayList<Boolean> omiljeni;
MyAdapter (Context c, ArrayList<Bitmap> slike, ArrayList<String> nazivi, ArrayList<String> grad_freq, ArrayList<Boolean> omiljeni) {
super(c, R.layout.row, R.id.textView1, nazivi);
this.context = c;
this.slike = slike;
this.nazivi = nazivi;
this.grad_freq= grad_freq;
this.omiljeni = omiljeni;
}
// ...
}
当然,删除想要的项目后,一定要调用:
adapter.notifyDataSetChanged();
感谢这里的答案。