如果我尝试设置CheckBox的检查状态它不起作用,我已经阅读了其他人的许多线程,我可以得到的是它每次都返回的不同复选框但是我正在设置这个新的复选框,为什么不在我的微调器中检查它?
classesName.setAdapter(new SpinnerAdapter() {
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public int getViewTypeCount() {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
LayoutInflater inflater = Registeration.this.getLayoutInflater();
View spinView = inflater.inflate(R.layout.classes_registeration_ddl, null);
CheckBox rbtn = (CheckBox) spinView.findViewById(R.id.radioButtonClassesReg);
rbtn.setChecked(true);
return spinView;
}
@Override
public int getItemViewType(int arg0) {
return 0;
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public Object getItem(int arg0) {
return classesArr[arg0];
}
@Override
public int getCount() {
return classesArr.length;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = Registeration.this.getLayoutInflater();
View spinView = inflater.inflate(R.layout.classes_registeration_ddl, null);
CheckBox rbtn = (CheckBox) spinView.findViewById(R.id.radioButtonClassesReg);
rbtn.setChecked(true);
return spinView;
}
});
答案 0 :(得分:0)
原因是android ListView的代码在getDropDownView之后运行,以跟踪选定的状态。您可以使用自定义CheckBox类来解决此问题,该类会覆盖isChecked并根据父项数据返回true / false。