"schoolClass = schoolClass.get(position);" to
"schoolClass = schoolclass.get(position);"
schoolclass
-是列表;schoolClass
-是您的项目,我认为您混淆了上/下]
任何人都知道为什么我在使用listview填充适配器时为什么在AdapterClass中得到错误的数据,这是我正在使用的代码
public class SchoolAdapter extends ArrayAdapter<SchoolClass> {
ArrayList<SchoolClass> schoolclass;
private SchoolAdapter schoolAdapter;
private SchoolClass schoolClass;
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.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个项目的结果,而当我单击第二项相同,当我单击第三项时,我得到的结果像适配器中的第8项或第9项一样,其他所有事物似乎都很好,并且由于显示了结果,所以我的代码未显示任何错误,但事实并非如此正确的结果注2:我正在使用json来检索列表,但是仅当我单击适配器中的项目(当在Toast中得到错误的结果)时,结果才正确显示
任何人都知道为什么使用列表视图填充适配器时,为什么我的AdapterClass中的数据错误,这是我使用公共类SchoolAdapter扩展ArrayAdapter 您的实例(学校班级)名称与列表名称几乎相同。更改"schoolClass = schoolClass.get(position);" to
"schoolClass = schoolclass.get(position);"
schoolclass
-是列表;schoolClass
-是您的项目,我认为您混淆了上/下]
"schoolClass = schoolClass.get(position);" to
"schoolClass = schoolclass.get(position);"
schoolclass
-是列表;schoolClass
-是您的项目,我认为您混淆了上/下]