Ich habe eine Listenansicht mit Kontrollkästchen. Ich ordne meine Listenansicht in einer EventHandler-Klasse an. Ich möchte alle Kontrollkästchen deaktivieren, wenn die Zurück-Taste gedrückt wird. Ich rufe die onBackPressed-Methode in einer anderen Aktivität auf. Also sollte ich eine andere Funktion schreiben, die eine Ansicht zurückgibt. Bitte helfen Sie. Ich habe viel gesucht, konnte aber keine genaue Lösung finden.Deaktivieren Sie alle markierten Kontrollkästchen, wenn onBackPressed in Android
Innerhalb der Klasse: Ich bekomme eine Arraylist der Viewholders, um die Checkboxen zu deaktivieren.
private ArrayList<ViewHolder> mViewHolders = new ArrayList<>();
ViewHolder:
private static class ViewHolder {
TextView topView;
TextView bottomView;
TextView dateView;
ImageView icon;
CheckBox checkBox;
}
getView:
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder mViewHolder;
int num_items = 0;
String temp = mFileMang.getCurrentDir();
File file = new File(temp + "/" + mDataSource.get(position));
String[] list = file.list();
if(list != null)
num_items = list.length;
if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.tablerow, parent, false);
mViewHolder = new ViewHolder();
mViewHolder.topView =(TextView)convertView.findViewById(R.id.top_view);
mViewHolder.bottomView = (TextView)convertView.findViewById(R.id.bottom_view);
mViewHolder.dateView =(TextView) convertView.findViewById(R.id.date_view);
mViewHolder.icon = (ImageView)convertView.findViewById(R.id.row_image);
mViewHolder.checkBox = (CheckBox) convertView.findViewById(R.id.row_checkBox);
convertView.setTag(mViewHolder);
} else {
mViewHolder = (ViewHolder)convertView.getTag();
} // I also make some text setting inside this.
Erstellen Sie einen Rückruf in Aktivität, in onBackPressed(), f Ire Callback-Methode, in Ihrem Adapter, implementieren Sie den Callback und in der Callback-Methode Körper, deaktivieren Sie die Kontrollkästchen. – EagleEye
Aber auch Fälle berücksichtigen, wenn Sie ein Kontrollkästchen deaktivieren möchten, oder nur sichtbar, oder nur alle. –
Ich möchte sie alle löschen – gunescelil