Кто-нибудь знает, почему я получаю неправильные данные в моем AdapterClass, когда использую listview для заполнения адаптера. Вот код, который я использую
public class SchoolAdapter extends ArrayAdapter<SchoolClass> {
ArrayList<SchoolClass> schoolclass;
private SchoolAdapter schoolAdapter;
public SchoolAdapter(Activity activity1, ArrayList<SchoolClass> schoolClassList1){
super(activity1, R.layout.school_adapter, schoolClassList1);
this.activity = activity1;
this.schoolClassList = schoolClassList1;
}
@NonNull
@Override
public View getView (int position, View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater = activity.getLayoutInflater();
@SuppressLint({"ViewHolder", "InflateParams"}) View view = inflater.inflate(R.layout.school_adapter, null, false);
school_name = view.findViewById(R.id.school_name);
school_size = view.findViewById(R.id.school_size);
school_btn = view.findViewById(R.id.school_btn);
SchoolClass schoolClass = schoolclass.get(position);
school_name.setText(schoolClass.getSchoolName());
school_size.setText(schoolClass.getSchool_Size());
school_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "Grant"+schoolClass.getSchoolName(), Toast.LENGTH_SHORT).show();
}
});
return view;
}
}
Примечание: Когда я использую listview.setOnItemClickListerner, я получаю правильные данные, где это должно быть, но когда я использую любой из щелчка элемент первого значения в адаптере, я получаю результат, как 5-й элемент, и когда я нажимаю второй элемент, то же самое, и когда я нажимаю третий элемент, я получаю результат, подобный восьмому или девятому элементу в адаптере, кажется, что все остальное в порядке, и мой код не отображает никаких ошибок, так как результат отображается, но это не правильный результат. Примечание 2. Я использую json для извлечения список, но результат отображается правильно только тогда, когда я нажимаю на элемент в адаптере, когда я получаю неправильный результат в тосте