本文整理汇总了Java中android.util.SparseBooleanArray.size方法的典型用法代码示例。如果您正苦于以下问题:Java SparseBooleanArray.size方法的具体用法?Java SparseBooleanArray.size怎么用?Java SparseBooleanArray.size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.util.SparseBooleanArray
的用法示例。
在下文中一共展示了SparseBooleanArray.size方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onDestroyActionMode
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
@Override
public void onDestroyActionMode(ActionMode actionMode) {
mListener.onDestroyActionMode(actionMode);
// Clear all the checked items
SparseBooleanArray checkedPositions = mListView.getCheckedItemPositions();
if (checkedPositions != null) {
for (int i = 0; i < checkedPositions.size(); i++) {
mListView.setItemChecked(checkedPositions.keyAt(i), false);
}
}
// Restore the original onItemClickListener
mListView.setOnItemClickListener(mOldItemClickListener);
// Clear the Action Mode
mActionMode = null;
// Reset the ListView's Choice Mode
mListView.post(mSetChoiceModeNoneRunnable);
}
示例2: getIds
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
public ArrayMap<Integer, long[]> getIds() {
ArrayMap<Integer, long[]> arrayMap = new ArrayMap<>();
if (choiceMode == ListView.CHOICE_MODE_MULTIPLE) {
for (Map.Entry<Integer, SparseBooleanArray> entry : multipleIds.entrySet()) {
List<Integer> l = new ArrayList<>();
SparseBooleanArray ids = entry.getValue();
for (int i = 0; i < ids.size(); i++) {
if (ids.valueAt(i)) {
l.add(ids.keyAt(i));
}
}
long[] _ids = new long[l.size()];
for (int i = 0; i < l.size(); i++) {
_ids[i] = l.get(i);
}
arrayMap.put(entry.getKey(), _ids);
}
}
return arrayMap;
}
示例3: onItemClick
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
// Check to see what the new checked state is, and then notify the listener
final boolean checked = mListView.isItemChecked(position);
mListener.onItemCheckedStateChanged(mActionMode, position, id, checked);
boolean hasCheckedItem = checked;
// Check to see if we have any checked items
if (!hasCheckedItem) {
SparseBooleanArray checkedItemPositions = mListView.getCheckedItemPositions();
if (checkedItemPositions != null) {
// Iterate through the SparseBooleanArray to see if there is a checked item
int i = 0;
while (!hasCheckedItem && i < checkedItemPositions.size()) {
hasCheckedItem = checkedItemPositions.valueAt(i++);
}
}
}
// If we don't have any checked items, finish the action mode
if (!hasCheckedItem) {
mActionMode.finish();
}
}
示例4: removeCheckState
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
/**
* Use this when an item has been deleted, to move the check state of all
* following items up one step. If you have a choiceMode which is not none,
* this method must be called when the order of items changes in an
* underlying adapter which does not have stable IDs (see
* {@link ListAdapter#hasStableIds()}). This is because without IDs, the
* ListView has no way of knowing which items have moved where, and cannot
* update the check state accordingly.
* <p>
* See also further comments on {@link #moveCheckState(int, int)}.
*
* @param position
*/
public void removeCheckState(int position) {
SparseBooleanArray cip = getCheckedItemPositions();
if (cip.size() == 0)
return;
int[] runStart = new int[cip.size()];
int[] runEnd = new int[cip.size()];
int rangeStart = position;
int rangeEnd = cip.keyAt(cip.size() - 1) + 1;
int runCount = buildRunList(cip, rangeStart, rangeEnd, runStart, runEnd);
for (int i = 0; i != runCount; i++) {
if (!(runStart[i] == position || (runEnd[i] < runStart[i] && runEnd[i] > position))) {
// Only set a new check mark in front of this run if it does
// not contain the deleted position. If it does, we only need
// to make it one check mark shorter at the end.
setItemChecked(rotate(runStart[i], -1, rangeStart, rangeEnd), true);
}
setItemChecked(rotate(runEnd[i], -1, rangeStart, rangeEnd), false);
}
}
示例5: deleteRows
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
public void deleteRows(){
//get Selected items
SparseBooleanArray selected = notesAdapter.getmSelectedItems();
//loop through selected items
for (int i = (selected.size()-1) ;i >=0 ; i--){
if (selected.valueAt(i)){
//If the current id is selected remove the item via key
deleteFromNoteRealm(selected.keyAt(i));
notesAdapter.notifyDataSetChanged();
}
}
// Toast.makeText(getContext(), selected.size() + " items deleted", Toast.LENGTH_SHORT).show();
Snackbar snackbar = Snackbar.make(recyclerView,selected.size() + " Notes deleted",Snackbar.LENGTH_SHORT);
snackbar.show();
actionMode.finish();
}
示例6: deleteTimeControls
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
private void deleteTimeControls() {
Log.d(TAG, "Requested to delete " + mTotalItemChecked + " time controls.");
boolean updateList = false;
int[] positions = new int[mTotalItemChecked];
SparseBooleanArray checked = mListView.getCheckedItemPositions();
int tmpItemChecked = mItemChecked;
// Get position of checked items
int k = 0;
for (int i = 0; i < checked.size(); i++) {
// If checked
if (checked.valueAt(i)) {
int position = checked.keyAt(i) - mListView.getHeaderViewsCount();
Log.d(TAG, "Marking time control " + position + " to remove.");
positions[k] = position;
k++;
updateList = true;
// Update position of check item
if (position < mItemChecked) {
tmpItemChecked--;
} else if (position == mItemChecked) {
tmpItemChecked = 0;
}
}
}
mItemChecked = tmpItemChecked;
// If checked items found request their removal.
if (updateList) {
mListener.removeTimeControl(positions);
// Note: No need to notifyDataSetChanged as mListView will have adapters swap.
}
}
示例7: findFirstSetIndex
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
private static int findFirstSetIndex(SparseBooleanArray sba, int rangeStart, int rangeEnd) {
int size = sba.size();
int i = insertionIndexForKey(sba, rangeStart);
while (i < size && sba.keyAt(i) < rangeEnd && !sba.valueAt(i))
i++;
if (i == size || sba.keyAt(i) >= rangeEnd)
return -1;
return i;
}
示例8: onActionItemClicked
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
switch (menuItem.getItemId()) {
case R.id.delete_all_action:
//SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
// Перебираем с конца, чтобы не нарушать порядок нумерации в списке
for (int i = (sparseBooleanArray.size() - 1); i >= 0; i--) {
if (sparseBooleanArray.valueAt(i)) {
parentActivity.notes.remove(sparseBooleanArray.keyAt(i));
}
}
actionMode.finish();
parentActivity.adapter.notifyDataSetChanged();
parentActivity.listView.smoothScrollToPosition(0);
Toast.makeText(parentActivity, R.string.deleted_successfully_toast, Toast.LENGTH_LONG).show();
return true;
case R.id.copy_all_action:
StringBuilder textToCopy = new StringBuilder("");
String label = "Notes text";
for (int i = 0; i < sparseBooleanArray.size(); i++) {
if (sparseBooleanArray.valueAt(i)) {
textToCopy.append(parentActivity.notes.get(sparseBooleanArray.keyAt(i)).getText());
textToCopy.append("\n");
}
}
ClipboardManager clipboard = (ClipboardManager) parentActivity.getSystemService(CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText(label, textToCopy.toString());
clipboard.setPrimaryClip(clip);
actionMode.finish();
Toast.makeText(parentActivity, R.string.copied_to_clipboard_toast, Toast.LENGTH_LONG).show();
return true;
default:
return false;
}
}
示例9: getCheckedItemIds
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
public long[] getCheckedItemIds() {
SparseBooleanArray ids = adapterCheckLin.getCheckedItemIds();
List<Integer> list = new ArrayList<>();
for (int i = 0; i < ids.size(); i++) {
if (ids.valueAt(i)) {
list.add(ids.keyAt(i));
}
}
long[] _ids = new long[list.size()];
for (int i = 0; i < list.size(); i++) {
_ids[i] = list.get(i);
}
return _ids;
}
示例10: getCheckedItemIds
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
public static long[] getCheckedItemIds(ListView listview) {
List<Integer> list = new ArrayList<>();
//listview.getCheckedItemPositions(); 为触发过选择的item ,选中 为true 取消false
SparseBooleanArray sp = listview.getCheckedItemPositions();
for (int i = 0; i < sp.size(); i++) {
if (sp.valueAt(i)) {
list.add(sp.keyAt(i));
}
}
long[] ids = new long[list.size()];
for (int i = 0; i < list.size(); i++) {
ids[i] = list.get(i);
}
return ids;
}
示例11: copySelectedNotes
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
public void copySelectedNotes(SparseBooleanArray checkedIndices, BaseAdapter notesAdapter, String destination) {
for (int i = 0; i < checkedIndices.size(); i++) {
if (checkedIndices.valueAt(i)) {
File file = (File) notesAdapter.getItem(checkedIndices.keyAt(i));
copyFile(file, destination);
}
}
}
示例12: doInBackground
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
@Override
protected Void doInBackground(Void... voids) {
if (mDestroyed) return null;
mTabIdsByMetadataFile = new HashMap<>();
mUnreferencedTabIds = new HashSet<>();
File[] stateFiles = getOrCreateStateDirectory().listFiles();
if (stateFiles == null) return null;
Set<Integer> allTabIds = new HashSet<>();
Set<Integer> allReferencedTabIds = new HashSet<>();
List<File> metadataFiles = new ArrayList<>();
for (File file : stateFiles) {
if (TabPersistentStore.isStateFile(file.getName())) {
metadataFiles.add(file);
SparseBooleanArray tabIds = new SparseBooleanArray();
mTabIdsByMetadataFile.put(file, tabIds);
getTabsFromStateFile(tabIds, file);
for (int i = 0; i < tabIds.size(); i++) {
allReferencedTabIds.add(tabIds.keyAt(i));
}
continue;
}
Pair<Integer, Boolean> tabInfo = TabState.parseInfoFromFilename(file.getName());
if (tabInfo == null) continue;
allTabIds.add(tabInfo.first);
}
mUnreferencedTabIds.addAll(allTabIds);
mUnreferencedTabIds.removeAll(allReferencedTabIds);
mDeletableMetadataFiles = getMetadataFilesForDeletion(
System.currentTimeMillis(), metadataFiles);
return null;
}
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:39,代码来源:CustomTabTabPersistencePolicy.java
示例13: insertionIndexForKey
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
private static int insertionIndexForKey(SparseBooleanArray sba, int key) {
int low = 0;
int high = sba.size();
while (high - low > 0) {
int middle = (low + high) >> 1;
if (sba.keyAt(middle) < key)
low = middle + 1;
else
high = middle;
}
return low;
}
示例14: onSetCardClicked
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
/**
* This is called by the presenter whenever a SET card is clicked by the user.
* If 3 cards are selected those indices are sent to the presenter
* who will check if they are a valid set.
*/
@Override
public void onSetCardClicked() {
mCheckedCount = getCheckedItemCount();
// If we have 3 items selected, check if they are a set
if (mCheckedCount == 3) {
SparseBooleanArray checkedItemPositions = getCheckedItemPositions();
int positionIndex = 0;
// Loop through SparseBooleanArray and grab the 3 positions that are checked
for (int i = 0; i < checkedItemPositions.size(); i++) {
if (checkedItemPositions.valueAt(i)) {
mCheckedPositions[positionIndex] = checkedItemPositions.keyAt(i);
positionIndex++;
}
}
// Submit the set instances to the presenter
mActionsListener.onSubmitSet(
mCheckedPositions[0],
mCheckedPositions[1],
mCheckedPositions[2]);
Log.d(LOG_TAG, String.format(
"Submitted set at positions %d, %d, %d",
mCheckedPositions[0],
mCheckedPositions[1],
mCheckedPositions[2]));
}
}
示例15: onActionItemClicked
import android.util.SparseBooleanArray; //导入方法依赖的package包/类
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
final SparseBooleanArray checked = mCurrentView.getCheckedItemPositions();
final ArrayList<DocumentInfo> docs = new ArrayList<>();
final int size = checked.size();
for (int i = 0; i < size; i++) {
if (checked.valueAt(i)) {
final Cursor cursor = mAdapter.getItem(checked.keyAt(i));
if(null != cursor) {
final DocumentInfo doc = DocumentInfo.fromDirectoryCursor(cursor);
docs.add(doc);
}
}
}
if(docs.isEmpty()){
return false;
}
final int id = item.getItemId();
switch (id) {
case R.id.menu_open:
BaseActivity.get(DirectoryFragment.this).onDocumentsPicked(docs);
mode.finish();
return true;
case R.id.menu_share:
onShareDocuments(docs);
mode.finish();
return true;
case R.id.menu_copy:
moveDocument(docs, false);
mode.finish();
return true;
case R.id.menu_cut:
moveDocument(docs, true);
mode.finish();
return true;
case R.id.menu_delete:
deleteDocument(docs, id);
mode.finish();
return true;
case R.id.menu_stop:
stopDocument(docs, id);
mode.finish();
return true;
case R.id.menu_save:
case R.id.menu_compress:
new OperationTask(docs, id).execute();
mode.finish();
return true;
case R.id.menu_select_all:
int count = mAdapter.getCount();
for (int i = 0; i < count; i++) {
mCurrentView.setItemChecked(i, selectAll);
}
selectAll = !selectAll;
Bundle params = new Bundle();
params.putInt(FILE_COUNT, count);
AnalyticsManager.logEvent("select", params);
return true;
case R.id.menu_info:
infoDocument(docs.get(0));
mode.finish();
return true;
case R.id.menu_rename:
renameDocument(docs.get(0));
mode.finish();
return true;
default:
return false;
}
}