List of usage examples for android.util SparseBooleanArray size
public int size()
From source file:net.sourceforge.servestream.fragment.UrlListFragment.java
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); DragSortListView list = (DragSortListView) getListView(); list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); list.setDropListener(dropListener);/*from ww w .j a va2 s. co m*/ list.setOnItemClickListener(new AdapterView.OnItemClickListener() { public synchronized void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (mActionMode == null) { UriBean uriBean = (UriBean) parent.getItemAtPosition(position); processUri(uriBean.getUri().toString()); } else { for (int i = 0; i < mChecked.size(); i++) { if (mChecked.keyAt(i) == position && mChecked.valueAt(i)) { view.setBackgroundResource(0); getListView().setItemChecked(position, false); mAdapter.notifyDataSetChanged(); } } // Notice how the ListView api is lame // You can use mListView.getCheckedItemIds() if the adapter // has stable ids, e.g you're using a CursorAdaptor SparseBooleanArray checked = getListView().getCheckedItemPositions(); boolean hasCheckedElement = false; checked = getListView().getCheckedItemPositions(); for (int i = 0; i < checked.size(); i++) { if (checked.valueAt(i)) { View v = getListView().getChildAt(checked.keyAt(i)); if (v != null) { v.setBackgroundColor(getActivity().getResources() .getColor(R.color.selection_background_color_light)); } } } mAdapter.notifyDataSetChanged(); for (int i = 0; i < checked.size() && !hasCheckedElement; i++) { hasCheckedElement = checked.valueAt(i); } if (hasCheckedElement) { if (mActionMode == null) { mActionMode = ((ActionBarActivity) getActivity()) .startSupportActionMode(mActionModeCallback); } } else { if (mActionMode != null) { mActionMode.finish(); mActionMode = null; } } mChecked = getListView().getCheckedItemPositions().clone(); } } }); list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { if (mActionMode == null) { mActionMode = ((ActionBarActivity) getActivity()).startSupportActionMode(mActionModeCallback); getListView().setItemChecked(position, true); view.setBackgroundColor( getActivity().getResources().getColor(R.color.selection_background_color_light)); mChecked = getListView().getCheckedItemPositions().clone(); return true; } return false; } }); DragSortController controller = new DragSortController(list); controller.setDragInitMode(DragSortController.ON_DRAG); controller.setDragHandleId(R.id.drag_handle); list.setOnTouchListener(controller); mAdapter = new UrlListAdapter(getActivity(), new ArrayList<UriBean>(), this); setListAdapter(mAdapter); }
From source file:de.qspool.clementineremote.ui.fragments.LibraryFragment.java
@SuppressLint({ "InlinedApi", "NewApi" }) @Override//from w w w . ja v a 2s . com public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_library, container, false); mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.library_refresh_layout); mEmptyLibrary = (SwipeRefreshLayout) view.findViewById(R.id.library_refresh_empty_layout); mSwipeRefreshLayout.setOnRefreshListener(this); mEmptyLibrary.setOnRefreshListener(this); mSwipeRefreshLayout.setColorSchemeResources(R.color.orange); mEmptyLibrary.setColorSchemeResources(R.color.orange); mList = (ListView) view.findViewById(R.id.library); mLibraryEmptyText = (TextView) mEmptyLibrary.findViewById(R.id.library_empty_txt); mList.setOnItemClickListener(oiclLibraryClick); mList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); mList.setMultiChoiceModeListener(new MultiChoiceModeListener() { @Override public boolean onActionItemClicked(ActionMode mode, android.view.MenuItem item) { SparseBooleanArray checkedPositions = mList.getCheckedItemPositions(); final LinkedList<SongSelectItem> selectedItems = new LinkedList<>(); final LinkedList<String> urls = new LinkedList<>(); mLibraryQueriesDone = 0; for (int i = 0; i < checkedPositions.size(); ++i) { int position = checkedPositions.keyAt(i); if (checkedPositions.valueAt(i)) { selectedItems.add(mAdapters.getLast().getItem(position)); } } for (SongSelectItem libraryItem : selectedItems) { OnSongSelectFinishedListener listener; switch (item.getItemId()) { case R.id.library_context_add: listener = new OnSongSelectFinishedListener() { @Override public void OnSongSelectFinished(LinkedList<SongSelectItem> l) { addSongsToPlaylist(l); } }; break; case R.id.library_context_download: listener = new OnSongSelectFinishedListener() { @Override public void OnSongSelectFinished(LinkedList<SongSelectItem> l) { for (SongSelectItem libItem : l) { urls.add(libItem.getUrl()); } mLibraryQueriesDone++; // Have we got all queries? if (mLibraryQueriesDone == selectedItems.size() && !urls.isEmpty()) { DownloadManager.getInstance() .addJob(ClementineMessageFactory.buildDownloadSongsMessage( ClementineRemoteProtocolBuffer.DownloadItem.Urls, urls)); } } }; break; default: return false; } queryLibraryItems(libraryItem, listener); } mode.finish(); return true; } @Override public boolean onCreateActionMode(ActionMode mode, android.view.Menu menu) { android.view.MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.library_context_menu, menu); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow() .setStatusBarColor(ContextCompat.getColor(getActivity(), R.color.grey_cab_status)); } return true; } @Override public boolean onPrepareActionMode(ActionMode mode, android.view.Menu menu) { return false; } @Override public void onDestroyActionMode(ActionMode mode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow() .setStatusBarColor(ContextCompat.getColor(getActivity(), R.color.actionbar_dark)); } } @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { } }); createRootAdapter(); showList(); mActionBar.setTitle(""); mActionBar.setSubtitle("/"); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); prefs.registerOnSharedPreferenceChangeListener(this); setHasOptionsMenu(true); return view; }
From source file:com.sumatone.cloud.securecloud.Fragments.UploadFragment.java
private void selectAcps() { final CharSequence[] items = RegisterActivity.ROLES; int level = PreferenceManager.getDefaultSharedPreferences(getActivity()).getInt("level", 7); int levelBelowThisUser = searchLastLevel(RegisterActivity.LEVELS, level); final CharSequence[] filterItems = Arrays.copyOfRange(items, levelBelowThisUser + 1, items.length); final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("Who can download the file?"); builder.setMultiChoiceItems(filterItems, null, null); final List<AccessControlPolicy> tempList = new ArrayList<AccessControlPolicy>(); builder.setPositiveButton("Next", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { switch (state) { case 0: SparseBooleanArray CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions(); acpsArray = new JSONArray(); for (int i = 0; i < CheCked.size(); i++) { if (CheCked.get(i) == true) { List<String> actionList = new ArrayList<String>(); actionList.add("download"); tempList.add(new AccessControlPolicy(filterItems[i].toString(), actionList)); /*JSONObject object = new JSONObject(); try {/* w w w.ja va 2 s . co m*/ object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download"); acpsArray.put(object); } catch (JSONException e) { e.printStackTrace(); }*/ } } state = 1; builder.setTitle("Who can delete the file?"); builder.setMultiChoiceItems(filterItems, null, null); builder.create().show(); //encryptAndUpload(); break; case 1: CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions(); acpsArray = new JSONArray(); for (int i = 0; i < CheCked.size(); i++) { if (CheCked.get(i) == true) { for (int j = 0; j < tempList.size(); j++) { if (tempList.get(j).getRole().equals(filterItems[i].toString())) { tempList.get(j).getActions().add("delete"); break; } } /*JSONObject object = new JSONObject(); try { object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download"); acpsArray.put(object); } catch (JSONException e) { e.printStackTrace(); }*/ } } state = 2; builder.setTitle("Who can update the file?"); builder.setMultiChoiceItems(filterItems, null, null); builder.create().show(); break; case 2: state = 0; CheCked = ((AlertDialog) dialog).getListView().getCheckedItemPositions(); acpsArray = new JSONArray(); for (int i = 0; i < CheCked.size(); i++) { if (CheCked.get(i) == true) { for (int j = 0; j < tempList.size(); j++) { if (tempList.get(j).getRole().equals(filterItems[i].toString())) { tempList.get(j).getActions().add("update"); break; } } /*JSONObject object = new JSONObject(); try { object.put(String.valueOf(RegisterActivity.LEVELS[i]), "download"); acpsArray.put(object); } catch (JSONException e) { e.printStackTrace(); }*/ } } formPolicyConfigurations(tempList); break; default: } } }); builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.create().show(); }
From source file:com.github.jobs.ui.dialog.RemoveServicesDialog.java
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { final ArrayList<Parcelable> services = getArguments().getParcelableArrayList(ARG_SERVICES); CharSequence[] items = new CharSequence[services.size()]; for (int i = 0, servicesSize = services.size(); i < servicesSize; i++) { TemplateService service = (TemplateService) services.get(i); items[i] = getString(R.string.service_list_item, service.getType(), service.getData()); }/*from ww w .j a va2 s. c o m*/ final SparseBooleanArray checked = new SparseBooleanArray(); return new AlertDialog.Builder(getActivity()).setTitle(R.string.title_remove_services) .setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { checked.put(which, isChecked); } }).setPositiveButton(R.string.remove_selected_services, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // get a list of the services to delete ArrayList<TemplateService> toRemove = new ArrayList<TemplateService>(); for (int i = 0; i < checked.size(); i++) { if (checked.valueAt(i)) { int index = checked.keyAt(i); toRemove.add((TemplateService) services.get(index)); } } // fire service deletion FragmentActivity activity = getActivity(); if (activity instanceof EditTemplateActivity) { EditTemplateActivity editTemplateActivity = (EditTemplateActivity) activity; editTemplateActivity.removeServices(toRemove); } } }).setNegativeButton(R.string.cancel, null).create(); }
From source file:net.naonedbus.fragment.impl.FavorisFragment.java
private boolean hasItemChecked() { final SparseBooleanArray checked = mListView.getCheckedItemPositions(); for (int i = 0; i < checked.size(); i++) { if (checked.valueAt(i)) return true; }//from w w w .j ava 2s . co m return false; }
From source file:net.naonedbus.fragment.impl.FavorisFragment.java
private List<Integer> getCheckedItemsIds() { final List<Integer> ids = new ArrayList<Integer>(); final SparseBooleanArray checked = mListView.getCheckedItemPositions(); for (int i = 0; i < checked.size(); i++) { if (checked.valueAt(i)) { final Favori item = (Favori) mListView.getItemAtPosition(checked.keyAt(i)); ids.add(item.getId());/*from ww w .j ava 2 s . co m*/ } } return ids; }
From source file:net.naonedbus.fragment.impl.FavorisFragment.java
private Favori getFirstSelectedItem() { final SparseBooleanArray checkedPositions = mListView.getCheckedItemPositions(); for (int i = 0; i < checkedPositions.size(); i++) { if (checkedPositions.valueAt(i)) { return (Favori) mListView.getItemAtPosition(checkedPositions.keyAt(i)); }/*from w w w .ja v a2 s . c om*/ } return null; }
From source file:net.naonedbus.fragment.impl.FavorisFragment.java
private int getCheckedItemsCount() { final SparseBooleanArray checkedPositions = mListView.getCheckedItemPositions(); int count = 0; for (int i = 0; i < checkedPositions.size(); i++) { if (checkedPositions.valueAt(i)) { count++;/*from ww w .ja va 2 s . c o m*/ } } return count; }
From source file:org.spinsuite.bchat.view.FV_Thread.java
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (m_view != null) return m_view; // Inflate//from w w w .ja va2s .com m_view = inflater.inflate(R.layout.v_business_chat_thread, container, false); // Scroll lv_Thread = (ListView) m_view.findViewById(R.id.lv_Thread); et_Message = (EditText) m_view.findViewById(R.id.et_Message); ib_Send = (ImageButton) m_view.findViewById(R.id.ib_Send); // Listener ib_Send.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (et_Message.getText() == null || et_Message.getText().toString().trim().length() == 0) return; // Send Message sendMessage(null); } }); // Hide Separator lv_Thread.setDividerHeight(0); lv_Thread.setDivider(null); lv_Thread.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); lv_Thread.setOnItemClickListener(new ListView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapter, View arg1, int position, long arg3) { DisplayBChatThreadItem item = (DisplayBChatThreadItem) m_ThreadAdapter.getItem(position); // Show Image String fileName = item.getFileName(); if (fileName != null && fileName.length() > 0) { String m_FilePath = Env.getBC_IMG_DirectoryPathName(m_ctx); File file = new File(m_FilePath + File.separator + fileName); // Show AttachmentHandler.showAttachment(m_ctx, Uri.fromFile(file)); } } }); // lv_Thread.setMultiChoiceModeListener(new MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { // Capture total checked items final int checkedCount = lv_Thread.getCheckedItemCount(); // Set the CAB title according to total checked items mode.setTitle(checkedCount + " " + getString(R.string.BChat_Selected)); // Calls toggleSelection method from ListViewAdapter Class m_ThreadAdapter.toggleSelection(position); } @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { switch (item.getItemId()) { case R.id.action_delete: SparseBooleanArray selectedItems = m_ThreadAdapter.getSelectedItems(); StringBuffer inClause = new StringBuffer(); for (int i = (selectedItems.size() - 1); i >= 0; i--) { if (selectedItems.valueAt(i)) { DisplayBChatThreadItem selectedItem = m_ThreadAdapter.getItem(selectedItems.keyAt(i)); // Add Separator if (inClause.length() > 0) { inClause.append(", "); } // Add Value inClause.append("'").append(selectedItem.getSPS_BC_Message_UUID()).append("'"); // Remove Item m_ThreadAdapter.remove(selectedItem); } } // Delete Records in DB if (inClause.length() > 0) { BCMessageHandle.getInstance(m_ctx).deleteMessage(m_Request, "SPS_BC_Message_UUID IN(" + inClause.toString() + ")"); } mode.finish(); return true; case R.id.action_copy: selectedItems = m_ThreadAdapter.getSelectedItems(); boolean justOne = selectedItems.size() == 1; StringBuffer text = new StringBuffer(); for (int i = (selectedItems.size() - 1); i >= 0; i--) { if (selectedItems.valueAt(i)) { DisplayBChatThreadItem selectedItem = m_ThreadAdapter.getItem(selectedItems.keyAt(i)); // Valid File if (selectedItem.getFileName() != null) continue; // Add New Line if (text.length() > 0) { text.append(Env.NL); } // Add to Text if (justOne) { text.append(selectedItem.getText()); } else { text.append(selectedItem.getCopy()); } } } // Add To Clipboard if (text.length() > 0) { Env.setClipboardText(m_ctx, text.toString()); } mode.finish(); return true; default: return false; } } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { mode.getMenuInflater().inflate(R.menu.bc_thread_selected, menu); return true; } @Override public void onDestroyActionMode(ActionMode mode) { m_ThreadAdapter.removeSelection(); } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } }); // Return return m_view; }
From source file:com.aimfire.gallery.ThumbsFragment.java
/** * delete current file// w w w. j a v a2s .c om */ private void deleteFiles() { final SparseBooleanArray checkedItems = mGridView.getCheckedItemPositions(); ArrayList<File> mediaFiles = new ArrayList<File>(); for (int i = 0; i < checkedItems.size(); i++) { final boolean isChecked = checkedItems.valueAt(i); if (isChecked) { int position = checkedItems.keyAt(i); File file = new File(mMediaList.get(position)); if (file.exists()) { mediaFiles.add(file); } } } final ArrayList<File> mediaFilesToDelete = mediaFiles; AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity(), R.style.AppCompatAlertDialogStyle); alertDialogBuilder.setTitle(R.string.delete); alertDialogBuilder.setMessage(mediaFilesToDelete.size() + " " + getString(R.string.warning_items_delete)); alertDialogBuilder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { /* * delete sbs/cvr, thumbnail, preview and exported files */ for (File mediaFile : mediaFilesToDelete) { String mediaFilePath = mediaFile.getAbsolutePath(); MediaScanner.deleteFile(mediaFilePath); } updateGridView(null, mGridView.getFirstVisiblePosition()); } }); alertDialogBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //do nothing } }); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show(); }