本文整理汇总了Java中android.widget.AbsListView.CHOICE_MODE_NONE属性的典型用法代码示例。如果您正苦于以下问题:Java AbsListView.CHOICE_MODE_NONE属性的具体用法?Java AbsListView.CHOICE_MODE_NONE怎么用?Java AbsListView.CHOICE_MODE_NONE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.widget.AbsListView
的用法示例。
在下文中一共展示了AbsListView.CHOICE_MODE_NONE属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setAdapter
/**
* {@inheritDoc}
*/
@Override
public void setAdapter(ListAdapter adapter) {
if (adapter != null) {
mAdapterHasStableIds = mAdapter.hasStableIds();
if (mChoiceMode != AbsListView.CHOICE_MODE_NONE
&& mAdapterHasStableIds && mCheckedIdStates == null) {
mCheckedIdStates = new LongSparseArray<Integer>();
}
}
if (mCheckStates != null) {
mCheckStates.clear();
}
if (mCheckedIdStates != null) {
mCheckedIdStates.clear();
}
}
示例2: getCheckedItemIds
/**
* Returns the set of checked items ids. The result is only valid if the
* choice mode has not been set to {@link #CHOICE_MODE_NONE} and the adapter
* has stable IDs. ({@link ListAdapter#hasStableIds()} == {@code true})
*
* @return A new array which contains the id of each checked item in the
* list.
*/
public long[] getCheckedItemIds() {
if (mChoiceMode == AbsListView.CHOICE_MODE_NONE
|| mCheckedIdStates == null || mAdapter == null) {
return new long[0];
}
final LongSparseArray<Integer> idStates = mCheckedIdStates;
final int count = idStates.size();
final long[] ids = new long[count];
for (int i = 0; i < count; i++) {
ids[i] = idStates.keyAt(i);
}
return ids;
}
示例3: getCheckItemIds
/**
* Returns the set of checked items ids. The result is only valid if the
* choice mode has not been set to {@link #CHOICE_MODE_NONE}.
*
* @return A new array which contains the id of each checked item in the
* list.
*
* @deprecated Use {@link #getCheckedItemIds()} instead.
*/
@Deprecated
public long[] getCheckItemIds() {
// Use new behavior that correctly handles stable ID mapping.
if (mAdapter != null && mAdapter.hasStableIds()) {
return getCheckedItemIds();
}
// Old behavior was buggy, but would sort of work for adapters without
// stable IDs.
// Fall back to it to support legacy apps.
if (mChoiceMode != AbsListView.CHOICE_MODE_NONE && mCheckStates != null && mAdapter != null) {
final SparseArrayCompat<Boolean> states = mCheckStates;
final int count = states.size();
final long[] ids = new long[count];
final ListAdapter adapter = mAdapter;
int checkedCount = 0;
for (int i = 0; i < count; i++) {
if (states.valueAt(i)) {
ids[checkedCount++] = adapter.getItemId(states.keyAt(i));
}
}
// Trim array if needed. mCheckStates may contain false values
// resulting in checkedCount being smaller than count.
if (checkedCount == count) {
return ids;
} else {
final long[] result = new long[checkedCount];
System.arraycopy(ids, 0, result, 0, checkedCount);
return result;
}
}
return new long[0];
}
示例4: setChoiceMode
/**
* Defines the choice behavior for the List. By default, Lists do not have
* any choice behavior ({@link #CHOICE_MODE_NONE}). By setting the
* choiceMode to {@link #CHOICE_MODE_SINGLE}, the List allows up to one item
* to be in a chosen state. By setting the choiceMode to
* {@link #CHOICE_MODE_MULTIPLE}, the list allows any number of items to be
* chosen.
*
* @param choiceMode
* One of {@link #CHOICE_MODE_NONE}, {@link #CHOICE_MODE_SINGLE},
* or {@link #CHOICE_MODE_MULTIPLE}
*/
@TargetApi(11)
public void setChoiceMode(int choiceMode) {
mChoiceMode = choiceMode;
if (android.os.Build.VERSION.SDK_INT >= 11) {
if (mChoiceActionMode != null) {
if (android.os.Build.VERSION.SDK_INT >= 11) {
((ActionMode) mChoiceActionMode).finish();
}
mChoiceActionMode = null;
}
}
if (mChoiceMode != AbsListView.CHOICE_MODE_NONE) {
if (mCheckStates == null) {
mCheckStates = new SparseArrayCompat<Boolean>();
}
if (mCheckedIdStates == null && mAdapter != null
&& mAdapter.hasStableIds()) {
mCheckedIdStates = new LongSparseArray<Integer>();
}
// Modal multi-choice mode only has choices when the mode is active.
// Clear them.
if (android.os.Build.VERSION.SDK_INT >= 11) {
if (mChoiceMode == AbsListView.CHOICE_MODE_MULTIPLE_MODAL) {
clearChoices();
setLongClickable(true);
}
}
}
}
示例5: AbsHListView
public AbsHListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
if (LOG_ENABLED) {
Log.i(LOG_TAG, "defStyle: " + defStyle);
}
initAbsListView();
final Resources.Theme theme = context.getTheme();
TypedArray array = theme.obtainStyledAttributes(attrs,
R.styleable.AbsHListView, defStyle, 0);
Drawable listSelector = null;
boolean drawSelectorOnTop = false;
boolean stackFromRight = false;
boolean scrollingCacheEnabled = true;
int transcriptMode = TRANSCRIPT_MODE_DISABLED;
int color = 0;
boolean smoothScrollbar = true;
int choiceMode = AbsListView.CHOICE_MODE_NONE;
if (null != array) {
listSelector = array
.getDrawable(R.styleable.AbsHListView_android_listSelector);
drawSelectorOnTop = array.getBoolean(
R.styleable.AbsHListView_android_drawSelectorOnTop, false);
stackFromRight = array.getBoolean(
R.styleable.AbsHListView_hlv_stackFromRight, false);
scrollingCacheEnabled = array.getBoolean(
R.styleable.AbsHListView_android_scrollingCache, true);
transcriptMode = array.getInt(
R.styleable.AbsHListView_hlv_transcriptMode,
TRANSCRIPT_MODE_DISABLED);
color = array.getColor(
R.styleable.AbsHListView_android_cacheColorHint, 0);
smoothScrollbar = array.getBoolean(
R.styleable.AbsHListView_android_smoothScrollbar, true);
choiceMode = array.getInt(
R.styleable.AbsHListView_android_choiceMode,
AbsListView.CHOICE_MODE_NONE);
array.recycle();
if (LOG_ENABLED) {
////log.d(TAG, "listSelector: " + listSelector);
////log.d(TAG, "drawSelectorOnTop: " + drawSelectorOnTop);
////log.d(TAG, "stackFromRight: " + stackFromRight);
////log.d(TAG, "scrollingCacheEnabled: " + scrollingCacheEnabled);
////log.d(TAG, "transcriptMode: " + transcriptMode);
////log.d(TAG, "smoothScrollbar: " + smoothScrollbar);
////log.d(TAG, "choiceMode: " + choiceMode);
}
}
if (listSelector != null) {
setSelector(listSelector);
}
mDrawSelectorOnTop = drawSelectorOnTop;
setStackFromRight(stackFromRight);
setScrollingCacheEnabled(scrollingCacheEnabled);
setTranscriptMode(transcriptMode);
setCacheColorHint(color);
setSmoothScrollbarEnabled(smoothScrollbar);
setChoiceMode(choiceMode);
}
示例6: isItemChecked
/**
* Returns the checked state of the specified position. The result is only
* valid if the choice mode has been set to {@link #CHOICE_MODE_SINGLE} or
* {@link #CHOICE_MODE_MULTIPLE}.
*
* @param position
* The item whose checked state to return
* @return The item's checked state or <code>false</code> if choice mode is
* invalid
*
* @see #setChoiceMode(int)
*/
public boolean isItemChecked(int position) {
if (mChoiceMode != AbsListView.CHOICE_MODE_NONE && mCheckStates != null) {
return mCheckStates.get(position, false);
}
return false;
}
示例7: getCheckedItemPositions
/**
* Returns the set of checked items in the list. The result is only valid if
* the choice mode has not been set to {@link #CHOICE_MODE_NONE}.
*
* @return A SparseBooleanArray which will return true for each call to
* get(int position) where position is a position in the list, or
* <code>null</code> if the choice mode is set to
* {@link #CHOICE_MODE_NONE}.
*/
public SparseArrayCompat<Boolean> getCheckedItemPositions() {
if (mChoiceMode != AbsListView.CHOICE_MODE_NONE) {
return mCheckStates;
}
return null;
}