我有一個列表視圖與複選框。我在一個EventHandler類中安排我的列表視圖。我想在按下後退按鈕時取消選中所有複選框。我在另一個活動中調用onBackPressed方法。所以我應該編寫另一個函數來返回一個視圖。請幫忙。我搜索了很多,但我找不到確切的解決方案。取消選中所有選中的複選框onBackPressed在android
課內:我得到一個Viewholder的數組列表來取消複選框的選擇。
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.
在activity中創建一個回調函數,在onBackPressed()中,f ire回調方法,在您的適配器中實現回調並在回調方法體中取消選中複選框。 – EagleEye
但是也要考慮您希望禁用一個複選框或僅顯示或僅顯示所有這些複選框的情況。 –
我想要清除所有這些 – gunescelil