Java Code Examples for android.support.v7.widget.ListPopupWindow#setOnItemClickListener()
The following examples show how to use
android.support.v7.widget.ListPopupWindow#setOnItemClickListener() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: LabelLayout.java From mosby with Apache License 2.0 | 7 votes |
private void init() { View.inflate(getContext(), R.layout.view_label_layout, this); LayoutTransition transition = new LayoutTransition(); transition.enableTransitionType(LayoutTransition.CHANGING); this.setLayoutTransition(transition); adapter = new LabelAdapter(getContext()); popUpWindow = new ListPopupWindow(getContext()); popUpWindow.setAnchorView(this); popUpWindow.setAdapter(adapter); popUpWindow.setWidth(DimensUtils.dpToPx(getContext(), 140)); popUpWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { showLabel(); } }); popUpWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Label label = (Label) adapter.getItem(position); if (!label.getName().equals(mail.getLabel())) { presenter.setLabel(mail, label.getName()); popUpWindow.dismiss(); } } }); setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { loadData(false); } }); }
Example 2
Source File: ToolbarSpinner.java From AndroidDownload with Apache License 2.0 | 6 votes |
public ToolbarSpinner(@NonNull Context context) { mListPopupWindow = new ListPopupWindow(context, null, R.attr.listPopupWindowStyle); mListPopupWindow.setModal(true); float density = context.getResources().getDisplayMetrics().density; mListPopupWindow.setContentWidth((int) (216 * density)); mListPopupWindow.setHorizontalOffset((int) (16 * density)); mListPopupWindow.setVerticalOffset((int) (-48 * density)); mListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ToolbarSpinner.this.onItemSelected(parent.getContext(), position); if (mOnItemSelectedListener != null) { mOnItemSelectedListener.onItemSelected(parent, view, position, id); } } }); }
Example 3
Source File: ReadEPubActivity.java From BookReader with Apache License 2.0 | 6 votes |
private void initTocList() { mTocListAdapter = new TocListAdapter(this, mChapterList, "", 1); mTocListAdapter.setEpub(true); mTocListPopupWindow = new ListPopupWindow(this); mTocListPopupWindow.setAdapter(mTocListAdapter); mTocListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mTocListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mTocListPopupWindow.setAnchorView(mCommonToolbar); mTocListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mTocListPopupWindow.dismiss(); currentChapter = position + 1; mTocListAdapter.setCurrentChapter(currentChapter); viewpager.setCurrentItem(position); } }); mTocListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { toolbarAnimateHide(); } }); }
Example 4
Source File: SelectionLayout.java From BookReader with Apache License 2.0 | 6 votes |
private void createPopupWindow() { mListPopupWindow = new ListPopupWindow(mContext); mAdapter = new SelAdapter(mContext, data); mListPopupWindow.setAdapter(mAdapter); mListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mListPopupWindow.setAnchorView(parent.getChildAt(0)); mListPopupWindow.setForceIgnoreOutsideTouch(false); mListPopupWindow.setOnItemClickListener(this); mListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { ivArrow.startAnimation(operatingAnim2); isOpen = false; } }); mListPopupWindow.setModal(true); }
Example 5
Source File: PopupWindowFactory.java From QuickNote with Apache License 2.0 | 6 votes |
public static ListPopupWindow createListPopUpWindow(Context context, View anchor, int[] icons, String[] texts, final ListPopUpWindowItemClickListener listener) { final ListPopupWindow listPopupWindow = new ListPopupWindow(context); PopUpMenuAdapter adapter = new PopUpMenuAdapter(context, icons, texts); listPopupWindow.setAdapter(adapter); listPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); listPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); listPopupWindow.setAnchorView(anchor); listPopupWindow.setModal(true); listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { listener.onItemClick(parent, view, position, id); listPopupWindow.dismiss(); } }); return listPopupWindow; }
Example 6
Source File: AlbumsSpinner.java From Matisse with Apache License 2.0 | 6 votes |
public AlbumsSpinner(@NonNull Context context) { mListPopupWindow = new ListPopupWindow(context, null, R.attr.listPopupWindowStyle); mListPopupWindow.setModal(true); float density = context.getResources().getDisplayMetrics().density; mListPopupWindow.setContentWidth((int) (216 * density)); mListPopupWindow.setHorizontalOffset((int) (16 * density)); mListPopupWindow.setVerticalOffset((int) (-48 * density)); mListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { AlbumsSpinner.this.onItemSelected(parent.getContext(), position); if (mOnItemSelectedListener != null) { mOnItemSelectedListener.onItemSelected(parent, view, position, id); } } }); }
Example 7
Source File: ReadEPubActivity.java From fangzhuishushenqi with Apache License 2.0 | 6 votes |
private void initTocList() { mTocListAdapter = new TocListAdapter(this, mChapterList, "", 1); mTocListAdapter.setEpub(true); mTocListPopupWindow = new ListPopupWindow(this); mTocListPopupWindow.setAdapter(mTocListAdapter); mTocListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mTocListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mTocListPopupWindow.setAnchorView(mCommonToolbar); mTocListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mTocListPopupWindow.dismiss(); currentChapter = position + 1; mTocListAdapter.setCurrentChapter(currentChapter); viewpager.setCurrentItem(position); } }); mTocListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { toolbarAnimateHide(); } }); }
Example 8
Source File: SelectionLayout.java From fangzhuishushenqi with Apache License 2.0 | 6 votes |
private void createPopupWindow() { mListPopupWindow = new ListPopupWindow(mContext); mAdapter = new SelAdapter(mContext, data); mListPopupWindow.setAdapter(mAdapter); mListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mListPopupWindow.setAnchorView(parent.getChildAt(0)); mListPopupWindow.setForceIgnoreOutsideTouch(false); mListPopupWindow.setOnItemClickListener(this); mListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { ivArrow.startAnimation(operatingAnim2); isOpen = false; } }); mListPopupWindow.setModal(true); }
Example 9
Source File: MultiImageSelectorFragment.java From ImageSelector with Apache License 2.0 | 6 votes |
void showDirectories() { if (imageDirectories.size() <= 1) { return; } final ListPopupWindow popupWindow = new ListPopupWindow(this.getActivity()); popupWindow.setBackgroundDrawable(new ColorDrawable(-1)); popupWindow.setAdapter(new DirectoryAdapter(this.getActivity(), this.imageDirectories)); popupWindow.setWidth(-1); int itemHeight = this.getActivity().getResources().getDimensionPixelOffset(R.dimen.size_60); popupWindow.setHeight(this.imageDirectories.size() >= 5 ? itemHeight * 5 : itemHeight * this.imageDirectories.size() + getActivity().getResources().getDimensionPixelOffset(R.dimen.size_10)); popupWindow.setAnchorView(this.btnBack); popupWindow.setModal(true); popupWindow.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { txtTitle.setText(imageDirectories.get(position).getName()); mAdapter.changeData(imageDirectories.get(position).getImages()); currentDirectory = position; popupWindow.dismiss(); } }); popupWindow.show(); popupWindow.getListView().setDividerHeight(getActivity().getResources().getDimensionPixelOffset(R.dimen.size_10)); popupWindow.getListView().setDivider(new ColorDrawable(getResources().getColor(android.R.color.transparent))); popupWindow.setSelection(this.currentDirectory); }
Example 10
Source File: Popup.java From wallpaperboard with Apache License 2.0 | 5 votes |
private Popup(Builder builder) { mPopupWindow = new ListPopupWindow(builder.mContext); mAdapter = new PopupAdapter(builder.mContext, builder.mItems); int width = getMeasuredWidth(builder.mContext); mPopupWindow.setContentWidth(width); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Drawable drawable = mPopupWindow.getBackground(); if (drawable != null) { drawable.setColorFilter(ColorHelper.getAttributeColor( builder.mContext, R.attr.card_background), PorterDuff.Mode.SRC_IN); } } else { mPopupWindow.setBackgroundDrawable(new ColorDrawable( ColorHelper.getAttributeColor(builder.mContext, R.attr.card_background))); } mPopupWindow.setAnchorView(builder.mTo); mPopupWindow.setAdapter(mAdapter); mPopupWindow.setOnItemClickListener((adapterView, view, i, l) -> { if (builder.mCallback != null) { builder.mCallback.onClick(this, i); return; } mPopupWindow.dismiss(); }); }
Example 11
Source File: MultiImageSelectorFragment.java From xmpp with Apache License 2.0 | 5 votes |
/** * 创建弹出的ListView */ private void createPopupFolderList(int width, int height) { mFolderPopupWindow = new ListPopupWindow(getActivity()); mFolderPopupWindow.setAdapter(mFolderAdapter); mFolderPopupWindow.setContentWidth(width); mFolderPopupWindow.setHeight(height * 5 / 8); mFolderPopupWindow.setAnchorView(mPopupAnchorView); mFolderPopupWindow.setModal(true); mFolderPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (i == 0) { getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); mCategoryText.setText(R.string.folder_all); mImageAdapter.setShowCamera(true); } else { Folder folder = (Folder) adapterView.getAdapter().getItem(i); if (null != folder) { Bundle args = new Bundle(); args.putString("path", folder.path); getActivity().getSupportLoaderManager().restartLoader(LOADER_CATEGORY, args, mLoaderCallback); mCategoryText.setText(folder.name); } mImageAdapter.setShowCamera(false); } mFolderAdapter.setSelectIndex(i); mFolderPopupWindow.dismiss(); // 滑动到最初始位置 mGridView.smoothScrollToPosition(0); } }); }
Example 12
Source File: Popup.java From candybar-library with Apache License 2.0 | 5 votes |
private Popup(Builder builder) { mPopupWindow = new ListPopupWindow(builder.mContext); mAdapter = new PopupAdapter(builder.mContext, builder.mItems); int width = getMeasuredWidth(builder.mContext); mPopupWindow.setWidth(width); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Drawable drawable = mPopupWindow.getBackground(); if (drawable != null) { drawable.setColorFilter(ColorHelper.getAttributeColor( builder.mContext, R.attr.card_background), PorterDuff.Mode.SRC_IN); } } else { mPopupWindow.setBackgroundDrawable(new ColorDrawable( ColorHelper.getAttributeColor(builder.mContext, R.attr.card_background))); } mPopupWindow.setAnchorView(builder.mTo); mPopupWindow.setAdapter(mAdapter); mPopupWindow.setOnItemClickListener((adapterView, view, i, l) -> { if (builder.mCallback != null) { builder.mCallback.onClick(this, i); return; } mPopupWindow.dismiss(); }); }
Example 13
Source File: ReadActivity.java From fangzhuishushenqi with Apache License 2.0 | 5 votes |
private void initTocList() { mTocListAdapter = new TocListAdapter(this, mChapterList, bookId, currentChapter); mTocListPopupWindow = new ListPopupWindow(this); mTocListPopupWindow.setAdapter(mTocListAdapter); mTocListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mTocListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mTocListPopupWindow.setAnchorView(mLlBookReadTop); mTocListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mTocListPopupWindow.dismiss(); currentChapter = position + 1; mTocListAdapter.setCurrentChapter(currentChapter); startRead = false; showDialog(); readCurrentChapter(); hideReadBar(); } }); mTocListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { gone(mTvBookReadTocTitle); visible(mTvBookReadReading, mTvBookReadCommunity, mTvBookReadChangeSource); } }); }
Example 14
Source File: MenuPopupHelper.java From floatingsearchview with Apache License 2.0 | 5 votes |
public boolean tryShow() { mPopup = new ListPopupWindow(mContext, null, mPopupStyleAttr, mPopupStyleRes); mPopup.setOnDismissListener(this); mPopup.setOnItemClickListener(this); mPopup.setAdapter(mAdapter); mPopup.setModal(true); View anchor = mAnchorView; if (anchor != null) { final boolean addGlobalListener = mTreeObserver == null; mTreeObserver = anchor.getViewTreeObserver(); // Refresh to latest if (addGlobalListener) mTreeObserver.addOnGlobalLayoutListener(this); mPopup.setAnchorView(anchor); mPopup.setDropDownGravity(mDropDownGravity); } else { return false; } if (!mHasContentWidth) { mContentWidth = measureContentWidth(); mHasContentWidth = true; } mPopup.setContentWidth(mContentWidth); mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NOT_NEEDED); int vertOffset = -mAnchorView.getHeight() + Util.dpToPx(4); int horizontalOffset = -mContentWidth + mAnchorView.getWidth(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { vertOffset = -mAnchorView.getHeight() - Util.dpToPx(4); horizontalOffset = -mContentWidth+mAnchorView.getWidth()-Util.dpToPx(8); } mPopup.setVerticalOffset(vertOffset); mPopup.setHorizontalOffset(horizontalOffset); mPopup.show(); mPopup.getListView().setOnKeyListener(this); return true; }
Example 15
Source File: ReadActivity.java From BookReader with Apache License 2.0 | 5 votes |
private void initTocList() { mTocListAdapter = new TocListAdapter(this, mChapterList, bookId, currentChapter); mTocListPopupWindow = new ListPopupWindow(this); mTocListPopupWindow.setAdapter(mTocListAdapter); mTocListPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT); mTocListPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); mTocListPopupWindow.setAnchorView(mLlBookReadTop); mTocListPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mTocListPopupWindow.dismiss(); currentChapter = position + 1; mTocListAdapter.setCurrentChapter(currentChapter); startRead = false; showDialog(); readCurrentChapter(); hideReadBar(); } }); mTocListPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { gone(mTvBookReadTocTitle); visible(mTvBookReadReading, mTvBookReadCommunity, mTvBookReadChangeSource); } }); }
Example 16
Source File: MultiImageSelectorFragment.java From UltimateAndroid with Apache License 2.0 | 5 votes |
/** * 创建弹出的ListView */ private void createPopupFolderList(int width, int height) { mFolderPopupWindow = new ListPopupWindow(getActivity()); mFolderPopupWindow.setAdapter(mFolderAdapter); mFolderPopupWindow.setContentWidth(width); mFolderPopupWindow.setHeight(height * 5/8); mFolderPopupWindow.setAnchorView(mPopupAnchorView); mFolderPopupWindow.setModal(true); mFolderPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (i == 0) { getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); mCategoryText.setText("folder_all"); mImageAdapter.setShowCamera(true); } else { Folder folder = (Folder) adapterView.getAdapter().getItem(i); if (null != folder) { Bundle args = new Bundle(); args.putString("path", folder.path); getActivity().getSupportLoaderManager().restartLoader(LOADER_CATEGORY, args, mLoaderCallback); mCategoryText.setText(folder.name); } mImageAdapter.setShowCamera(false); } mFolderAdapter.setSelectIndex(i); mFolderPopupWindow.dismiss(); // 滑动到最初始位置 mGridView.smoothScrollToPosition(0); } }); }
Example 17
Source File: MultiImageSelectorFragment.java From ImageChoose with MIT License | 4 votes |
/** * 创建弹出的ListView */ private void createPopupFolderList(int width, int height) { mFolderPopupWindow = new ListPopupWindow(getActivity()); mFolderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); mFolderPopupWindow.setAdapter(mFolderAdapter); mFolderPopupWindow.setContentWidth(width); mFolderPopupWindow.setWidth(width); mFolderPopupWindow.setHeight(height * 5 / 8); mFolderPopupWindow.setAnchorView(mPopupAnchorView); mFolderPopupWindow.setModal(true); mFolderPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { mFolderAdapter.setSelectIndex(i); final int index = i; final AdapterView v = adapterView; new Handler().postDelayed(new Runnable() { @Override public void run() { mFolderPopupWindow.dismiss(); if (index == 0) { getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); mCategoryText.setText(R.string.folder_all); if (mIsShowCamera) { mImageAdapter.setShowCamera(true); if(mIsShowText && mode==MODE_MULTI){//多选的时候才显示文本 mImageAdapter.setShowTxt(true); }else{ mImageAdapter.setShowTxt(false); } }else { mImageAdapter.setShowCamera(false); mImageAdapter.setShowTxt(false); } } else { Folder folder = (Folder) v.getAdapter().getItem(index); if (null != folder) { mImageAdapter.setData(folder.images); mCategoryText.setText(folder.name); // 设定默认选择 if (resultList != null && resultList.size() > 0) { mImageAdapter.setDefaultSelected(resultList); } } mImageAdapter.setShowCamera(false); mImageAdapter.setShowTxt(false); } // 滑动到最初始位置 mGridView.smoothScrollToPosition(0); } }, 100); } }); }
Example 18
Source File: MultiImageSelectorFragment.java From MultiImageSelector with MIT License | 4 votes |
/** * Create popup ListView */ private void createPopupFolderList() { Point point = ScreenUtils.getScreenSize(getActivity()); int width = point.x; int height = (int) (point.y * (4.5f/8.0f)); mFolderPopupWindow = new ListPopupWindow(getActivity()); mFolderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); mFolderPopupWindow.setAdapter(mFolderAdapter); mFolderPopupWindow.setContentWidth(width); mFolderPopupWindow.setWidth(width); mFolderPopupWindow.setHeight(height); mFolderPopupWindow.setAnchorView(mPopupAnchorView); mFolderPopupWindow.setModal(true); mFolderPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { mFolderAdapter.setSelectIndex(i); final int index = i; final AdapterView v = adapterView; new Handler().postDelayed(new Runnable() { @Override public void run() { mFolderPopupWindow.dismiss(); if (index == 0) { getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); mCategoryText.setText(R.string.mis_folder_all); if (showCamera()) { mImageAdapter.setShowCamera(true); } else { mImageAdapter.setShowCamera(false); } } else { Folder folder = (Folder) v.getAdapter().getItem(index); if (null != folder) { mImageAdapter.setData(folder.images); mCategoryText.setText(folder.name); if (resultList != null && resultList.size() > 0) { mImageAdapter.setDefaultSelected(resultList); } } mImageAdapter.setShowCamera(false); } mGridView.smoothScrollToPosition(0); } }, 100); } }); }
Example 19
Source File: PictureGridActivity.java From PicturePicker with Apache License 2.0 | 4 votes |
/** * 初始化展示文件夹列表的popupWindow */ private ListPopupWindow initFolderListPopupWindow() { listPopupWindow = new ListPopupWindow(this); listPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); //ListPopupWindow总会相对于这个View 锚点 listPopupWindow.setAnchorView(llFootBar); listPopupWindow.setDropDownGravity(Gravity.BOTTOM); //是否为模态,影响返回键的处理 listPopupWindow.setModal(true); listPopupWindow.setContentWidth(ListPopupWindow.MATCH_PARENT); listPopupWindow.setWidth(ListPopupWindow.MATCH_PARENT); folderListAdapter = new PopupFolderListAdapter(this, pictureFolderList); listPopupWindow.setAdapter(folderListAdapter); listPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { Utils.setActivityBackgroundAlpha(PictureGridActivity.this, 1.0f); } }); listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { PictureFolder pictureFolder = pictureFolderList.get(position); if (!TextUtils.equals(pictureFolder.folderAbsPath, folderListAdapter.getCurrentSelectFolderPath())) { folderListAdapter.notifyDataSetChanged(pictureFolder.folderAbsPath); //更新底部文件夹名称 setBtnImgFolderText(pictureFolder.folderName); //更新显示的图片 notifyPictureGrid(pictureFolder.pictureItemList); } listPopupWindow.dismiss(); } }); return listPopupWindow; }
Example 20
Source File: MultiImageSelectorFragment.java From HeartBeat with Apache License 2.0 | 4 votes |
/** * 创建弹出的ListView */ private void createPopupFolderList() { Point point = ScreenUtils.getScreenSize(getActivity()); int width = point.x; int height = (int) (point.y * (4.5f/8.0f)); mFolderPopupWindow = new ListPopupWindow(getActivity()); mFolderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); mFolderPopupWindow.setAdapter(mFolderAdapter); mFolderPopupWindow.setContentWidth(width); mFolderPopupWindow.setWidth(width); mFolderPopupWindow.setHeight(height); mFolderPopupWindow.setAnchorView(mPopupAnchorView); mFolderPopupWindow.setModal(true); mFolderPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { mFolderAdapter.setSelectIndex(i); final int index = i; final AdapterView v = adapterView; new Handler().postDelayed(new Runnable() { @Override public void run() { mFolderPopupWindow.dismiss(); if (index == 0) { getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); mCategoryText.setText(R.string.folder_all); if (mIsShowCamera) { mImageAdapter.setShowCamera(true); } else { mImageAdapter.setShowCamera(false); } } else { Folder folder = (Folder) v.getAdapter().getItem(index); if (null != folder) { mImageAdapter.setData(folder.images); mCategoryText.setText(folder.name); // 设定默认选择 if (resultList != null && resultList.size() > 0) { mImageAdapter.setDefaultSelected(resultList); } } mImageAdapter.setShowCamera(false); } // 滑动到最初始位置 mGridView.smoothScrollToPosition(0); } }, 100); } }); }