private void fireOnSelected() { if (mOnItemSelectedListener == null) return; int selection = this.getSelectedItemPosition(); if (selection >= 0) { View v = getSelectedView(); mOnItemSelectedListener.onItemSelected(this, v, selection, getAdapter().getItemId(selection)); } else { mOnItemSelectedListener.onNothingSelected(this); } }
private void onAppSelected(int index) { dismiss(); if (index < customActions.size()) { CustomAction action = customActions.get(index); if (mListener != null) { mListener.onCustomActionSelected(action); } } else { ResolveInfo info = mAppInfos.get(index - customActions.size()); if (mListener != null) { mListener.onAppSelected(info); } } }
@Override public boolean onSingleTapConfirmed(MotionEvent e) { Rect viewRect = new Rect(); for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); int left = child.getLeft(); int right = child.getRight(); int top = child.getTop(); int bottom = child.getBottom(); viewRect.set(left, top, right, bottom); if (viewRect.contains((int) e.getX(), (int) e.getY())) { if (mOnItemClicked != null) { mOnItemClicked.onItemClick( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } if (mOnItemSelected != null) { mOnItemSelected.onItemSelected( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } break; } } return true; }
public boolean onTestReceive(MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_UP) { Rect viewRect = new Rect(); for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); int left = child.getLeft(); int right = child.getRight(); int top = child.getTop() + this.getTop(); int bottom = child.getBottom() + this.getBottom(); int x = (int) e.getX(); int y = (int) e.getY(); viewRect.set(left, top, right, bottom); if (viewRect.contains(x, y)) { if (mOnItemClicked != null) { mOnItemClicked.onItemClick( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } if (mOnItemSelected != null) { mOnItemSelected.onItemSelected( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } break; } } return true; } return false; }
@Override public void onLongPress(MotionEvent e) { Rect viewRect = new Rect(); for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); int left = child.getLeft(); int right = child.getRight(); int top = child.getTop(); int bottom = child.getBottom(); viewRect.set(left, top, right, bottom); if (viewRect.contains((int) e.getX(), (int) e.getY())) { if (mOnItemLongClickListener != null) { mOnItemLongClickListener.onItemLongClick( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } if (mOnItemSelected != null) { mOnItemSelected.onItemSelected( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } break; } } }
// Trigger update of detail fragment public void updateDetail() { // Create data solely for testing String newTime = String.valueOf(System.currentTimeMillis()); // Send data to activity listener.onCardSelected(newTime); }
@Override public void onClick(View v) { if (onItemSelectedListener != null) { if (onItemSelectedListener.onItemSelected(v.getId())) { dismiss(); } } }
// May also be triggered from the Activity public void updateDetail() { // Create a string, just for testing String newTime = String.valueOf(System.currentTimeMillis()); // Inform the Activity about the change based // interface defintion listener.onRssItemSelected(newTime); }
protected void onItemSelected(Resource resource) { Activity activity = getActivity(); if (activity instanceof OnItemSelectedListener) { ((OnItemSelectedListener) activity).onItemSelected(resource); } else { throw new IllegalStateException( String.format( "activity %s should implement %s", activity, OnItemSelectedListener.class.getCanonicalName())); } }
/** * Rotate the buttons. * * @param degrees The degrees, the menu items should get rotated. */ private void rotateButtons(float degrees) { int left, top, childCount = getChildCount(); float angleDelay = 360f / (float) childCount; angle += degrees; if (angle > 360) { angle -= 360; } else { if (angle < 0) { angle += 360; } } for (int i = 0; i < childCount; i++) { if (angle > 360) { angle -= 360; } else { if (angle < 0) { angle += 360; } } final ShareArImageView child = (ShareArImageView) getChildAt(i); if (child.getVisibility() == GONE) { continue; } left = Math.round( (float) (((sharearWidth / 2f) - childWidth / 2f) + radius * Math.cos(Math.toRadians(angle)))); top = Math.round( (float) (((sharearHeight / 2f) - childHeight / 2f) + radius * Math.sin(Math.toRadians(angle)))); child.setAngle(angle); if (Math.abs(angle - firstChildPos) < (angleDelay / 2f) && selected != child.getPosition()) { selected = child.getPosition(); if (mOnItemSelectedListener != null && rotateToCenter) { mOnItemSelectedListener.onItemSelected( child, selected, child.getId(), child.getRid(), child.getName()); } } child.layout(left, top, left + childWidth, top + childHeight); angle += angleDelay; } }
public void setItemSelected(int position, boolean selected) { RecordItem recordItem = mRecordItemList.get(position); if (recordItem != null) { final RestorableRecord record = (RestorableRecord) recordItem.record; if (selected && !isRecordSelectable(record)) { showToast("暂不支持只有数据的应用程序整合"); notifyDataSetChanged(); return; } recordItem.isSelected = selected; if (mOnItemSelectedListener != null) { mOnItemSelectedListener.onItemSelected(getItem(position), selected); } notifyDataSetChanged(); } }
private void setChildAngles() { int left, top, childWidth, childHeight, childCount = getChildCount(); float angleDelay = 360.0f / childCount; float halfAngle = angleDelay / 2; float localAngle = angle; for (int i = 0; i < childCount; i++) { final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue; } if (localAngle > 360) { localAngle -= 360; } else if (localAngle < 0) { localAngle += 360; } childWidth = child.getMeasuredWidth(); childHeight = child.getMeasuredHeight(); left = Math.round( (float) (((circleWidth / 2.0) - childWidth / 2.0) + radius * Math.cos(Math.toRadians(localAngle)))); top = Math.round( (float) (((circleHeight / 2.0) - childHeight / 2.0) + radius * Math.sin(Math.toRadians(localAngle)))); child.setTag(localAngle); float distance = Math.abs(localAngle - firstChildPosition.getAngle()); boolean isFirstItem = distance <= halfAngle || distance >= (360 - halfAngle); if (isFirstItem && selectedView != child) { selectedView = child; if (onItemSelectedListener != null && isRotating) { onItemSelectedListener.onItemSelected(child); } } child.layout(left, top, left + childWidth, top + childHeight); localAngle += angleDelay; } }
@Override public void onListItemClick(ListView l, View v, int position, long id) { String projection[] = {PapasDatabase.COL_URL}; Cursor itemCursor = getActivity() .getContentResolver() .query( Uri.withAppendedPath(PapaProvider.CONTENT_URI, String.valueOf(id)), projection, null, null, null); if (itemCursor.moveToFirst()) { String itemUrl = itemCursor.getString(0); itemSelectedListener.onItemSelected(itemUrl); } itemCursor.close(); }
private void setNextSelectedPositionInt(int position) { if (mContentScrollView.getHeight() == 0) { setSelection(position); return; } mSelectedPosition = position; initItemViewsScrollYArr(); mContentScrollView.scrollTo( mContentScrollView.getScrollX(), mItemViewsScrollYArr[mSelectedPosition]); if (mOnItemSelectedListener != null) { mOnItemSelectedListener.onItemSelected( this, mCachedSubViewList.get(mSelectedPosition), mSelectedPosition, mAdapter.getItemId(mSelectedPosition)); } }
@Override public boolean onSingleTapConfirmed(MotionEvent e) { for (int i = 0; i < getChildCount(); i++) { View child = getChildAt(i); if (isEventWithinView(e, child)) { if (mOnItemClicked != null) { mOnItemClicked.onItemClick( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } if (mOnItemSelected != null) { mOnItemSelected.onItemSelected( HorizontalListView.this, child, mLeftViewIndex + 1 + i, mAdapter.getItemId(mLeftViewIndex + 1 + i)); } break; } } return true; }