本文整理汇总了Java中android.support.v4.util.SparseArrayCompat.keyAt方法的典型用法代码示例。如果您正苦于以下问题:Java SparseArrayCompat.keyAt方法的具体用法?Java SparseArrayCompat.keyAt怎么用?Java SparseArrayCompat.keyAt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.support.v4.util.SparseArrayCompat
的用法示例。
在下文中一共展示了SparseArrayCompat.keyAt方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getRowItems
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
/**
* Get all row's items
*
* @param row row index
* @return Collection with row's Objects
*/
@NonNull
Collection<TObj> getRowItems(int row) {
Collection<TObj> result = new LinkedList<>();
SparseArrayCompat<TObj> array = mData.get(row);
for (int count = array.size(), i = 0; i < count; i++) {
int key = array.keyAt(i);
TObj columnObj = array.get(key);
if (columnObj != null) {
result.add(columnObj);
}
}
return result;
}
示例2: getAll
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
/**
* Get all matrix's items
*
* @return Collection with column's Objects
*/
@NonNull
Collection<TObj> getAll() {
Collection<TObj> result = new LinkedList<>();
for (int countR = mData.size(), i = 0; i < countR; i++) {
int rowKey = mData.keyAt(i);
SparseArrayCompat<TObj> columns = mData.get(rowKey);
for (int countC = columns.size(), j = 0; j < countC; j++) {
int key = columns.keyAt(j);
result.add(columns.get(key));
}
}
return result;
}
示例3: findUpMigrationPath
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
private List<alpha1.android.arch.persistence.room.migration.Migration> findUpMigrationPath(List<alpha1.android.arch.persistence.room.migration.Migration> result, boolean upgrade,
int start, int end) {
final int searchDirection = upgrade ? -1 : 1;
while (upgrade ? start < end : start > end) {
SparseArrayCompat<alpha1.android.arch.persistence.room.migration.Migration>
targetNodes = mMigrations.get(start);
if (targetNodes == null) {
return null;
}
// keys are ordered so we can start searching from one end of them.
final int size = targetNodes.size();
final int firstIndex;
final int lastIndex;
if (upgrade) {
firstIndex = size - 1;
lastIndex = -1;
} else {
firstIndex = 0;
lastIndex = size;
}
boolean found = false;
for (int i = firstIndex; i != lastIndex; i += searchDirection) {
int targetVersion = targetNodes.keyAt(i);
if (targetVersion <= end && targetVersion > start) {
result.add(targetNodes.valueAt(i));
start = targetVersion;
found = true;
break;
}
}
if (!found) {
return null;
}
}
return result;
}
示例4: convertTypesForFilter
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
/**
* Helper method to convert list of selected types of a {@link com.schautup.data.Filter} to a string with sep {@link
* #DIV}.
*
* @param types
* A list of all {@link com.schautup.data.Filter}s.
*
* @return Selected {@link com.schautup.data.Filter}s in string with sep {@link #DIV}.
*/
private static StringBuilder convertTypesForFilter(SparseArrayCompat<ScheduleType> types) {
StringBuilder stringBuilder = new StringBuilder();
int key;
ScheduleType type;
for (int i = 0; i < types.size(); i++) {
key = types.keyAt(i);
type = types.get(key);
stringBuilder.append(type.getCode());
if (i != types.size() - 1) {//Last one?
stringBuilder.append(DIV);
}
}
return stringBuilder;
}
示例5: onEvent
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
/**
* Handler for {@link com.schautup.bus.ShowSetFilterEvent}.
*
* @param e
* Event {@link com.schautup.bus.ShowSetFilterEvent}.
*/
public void onEvent(ShowSetFilterEvent e) {
mIsEdit = true;
Filter item = e.getFilter();
mId = item.getId();
mName = item.getName();
mHour = item.getHour();
mMinute = item.getMinute();
mNameEt.setText(mName);
mHourTv.setText(Utils.convertValue(mHour));
mMinuteTv.setText(Utils.convertValue(mMinute));
SparseArrayCompat<ScheduleType> types= item.getSelectedTypes();
int key;
ScheduleType type;
for(int i = 0; i < types.size(); i++) {
key = types.keyAt(i);
type = types.get(key);
switch (type) {
case MUTE:
mSetMuteV.performClick();
break;
case VIBRATE:
mSetVibrateV.performClick();
break;
case SOUND:
mSetSoundV.performClick();
break;
case WIFI:
mSetWifiV.performClick();
break;
case MOBILE:
mSetMobileDataV.performClick();
break;
case BRIGHTNESS:
mSetBrightnessV.performClick();
break;
case BLUETOOTH:
mSetBluetoothV.performClick();
break;
case STARTAPP:
mSetStartAppV.performClick();
break;
case CALLABORT:
mSetCallAbortV.performClick();
break;
}
}
mEventRecurrence = item.getEventRecurrence();
mEventRecurrence = Utils.showRecurrenceBadge(getActivity(), mEventRecurrence, mRecurrenceBgv);
EventBus.getDefault().removeStickyEvent(ShowSetFilterEvent.class);
}
示例6: getFilteredSchedules
import android.support.v4.util.SparseArrayCompat; //导入方法依赖的package包/类
/**
* Returns {@link com.schautup.data.ScheduleItem}s from DB by hour , minute , type and recurrence which have been filtered.
*
* @param hour
* Hour.
* @param minute
* Minute.
* @param types
* A list of selected {@link com.schautup.data.ScheduleType}.
* @param eventRecurrence
* {@link EventRecurrence}.
*
* @return {@link com.schautup.data.ScheduleItem}s from DB by hour , minute , type and recurrence.
*/
public synchronized List<ScheduleItem> getFilteredSchedules(int hour, int minute,
SparseArrayCompat<ScheduleType> types, EventRecurrence eventRecurrence) {
if (mDB == null || !mDB.isOpen()) {
open();
}
List<ScheduleItem> items = new ArrayList<ScheduleItem>();
Cursor c = null;
ScheduleType type;
ScheduleItem item;
List<ScheduleItem> list;
try {
int key;
for (int i = 0; i < types.size(); i++) {
key = types.keyAt(i);
type = types.get(key);
c = mDB.query(ScheduleTbl.TABLE_NAME, null, "("+ ScheduleTbl.HOUR + " = ? AND " + ScheduleTbl.MINUTE + " = " +
"? AND " + ScheduleTbl.RECURRENCE + " = ?) AND " + ScheduleTbl.TYPE + " = ?", new String[] { hour + "", minute + "", eventRecurrence.toString(), type.getCode() + "" }, null,
null, null, null);
list = new LinkedList<ScheduleItem>();
EventRecurrence er;
while (c.moveToNext()) {
item = new ScheduleItem(c.getLong(c.getColumnIndex(ScheduleTbl.ID)), ScheduleType.fromCode(c.getInt(
c.getColumnIndex(ScheduleTbl.TYPE))), c.getInt(c.getColumnIndex(ScheduleTbl.HOUR)), c.getInt(c.getColumnIndex(ScheduleTbl.MINUTE)), c.getLong(c.getColumnIndex(
ScheduleTbl.EDIT_TIME)));
er = new EventRecurrence();
er.parse(c.getString(c.getColumnIndex(ScheduleTbl.RECURRENCE)));
item.setEventRecurrence(er);
item.setReserveLeft(c.getString(c.getColumnIndex(ScheduleTbl.RESERVE_LEFT)));
item.setReserveRight(c.getString(c.getColumnIndex(ScheduleTbl.RESERVE_RIGHT)));
list.add(item);
}
items.addAll(list);
}
} finally {
if (c != null) {
c.close();
}
close();
return items;
}
}