当前位置: 首页>>代码示例>>Java>>正文


Java SparseBooleanArray.size方法代码示例

本文整理汇总了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);
}
 
开发者ID:gigabytedevelopers,项目名称:FireFiles,代码行数:18,代码来源:MultiSelectionUtil.java

示例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;
}
 
开发者ID:abook23,项目名称:godlibrary,代码行数:21,代码来源:ExpandableListViewCheckAdapter.java

示例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();
    }
}
 
开发者ID:kranthi0987,项目名称:easyfilemanager,代码行数:23,代码来源:MultiSelectionUtil.java

示例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);
    }
}
 
开发者ID:bunnyblue,项目名称:NoticeDog,代码行数:34,代码来源:DragSortListView.java

示例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();

    }
 
开发者ID:Rishabhk07,项目名称:multi-copy,代码行数:20,代码来源:NotesFragment.java

示例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.
    }
}
 
开发者ID:ChessCom,项目名称:android-chessclock,代码行数:38,代码来源:SettingsFragment.java

示例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;
}
 
开发者ID:ultrasonic,项目名称:ultrasonic,代码行数:10,代码来源:DragSortListView.java

示例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;
    }
}
 
开发者ID:coffeeplanter,项目名称:SimpleNotes,代码行数:37,代码来源:MultiChoiceImplementation.java

示例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;
}
 
开发者ID:abook23,项目名称:godlibrary,代码行数:15,代码来源:FragmentListView.java

示例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;
}
 
开发者ID:abook23,项目名称:godlibrary,代码行数:16,代码来源:CheckLayout.java

示例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);
        }
    }
}
 
开发者ID:gsantner,项目名称:markor,代码行数:9,代码来源:MarkorSingleton.java

示例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;
}
 
开发者ID:bunnyblue,项目名称:NoticeDog,代码行数:13,代码来源:DragSortListView.java

示例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]));
    }
}
 
开发者ID:jaysondc,项目名称:TripleTap,代码行数:38,代码来源:GameFragment.java

示例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;
	}
}
 
开发者ID:gigabytedevelopers,项目名称:FireFiles,代码行数:80,代码来源:DirectoryFragment.java


注:本文中的android.util.SparseBooleanArray.size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。