Android: пользовательский диалог занимает слишком много времени, чтобы открыть

У меня есть настраиваемый диалог, который показывает листинг, он работает, но для его открытия требуется слишком много времени, я также попытался решить его с помощью DialogFragment, но он показывается как есть, так как я могу его решить? Пожалуйста, ребята, помогите решить эту проблему!

MyDialog.java

try { switch (v.getId()) { case R.id.ll_weight: mDialogFor = 1; if (mArrWeightList != null && mArrWeightList.size() > 0) { Log.print("mIsDialogueClick:::mArrWeightList::: " + mIsDialogueClick); if (!mIsDialogueClick) { mIsDialogueClick = true; showDialogBox(mDialogFor, txtWeight, getString(R.string.alert_select_weight)); } } break; } } catch (Exception e) { e.printStackTrace(); Log.debug(getClass().getSimpleName(), e.getMessage()); Log.error(getClass().getSimpleName(), e.getMessage()); } if (WebInterface.isOnline(mActivity)) { new ApiProductDetail(mActivity, handlerProductDetail, mProductId).execute(); } else { Utils.showAlert(mActivity, getString(R.string.title_internet), getString(R.string.Check_Internet_connection), getString(R.string.ok)); } private void showDialogBox(final int mDialogFor, final TextView text, String mHeaderText) { TextView txtHeader; mDialog = new Dialog(mActivity); mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); mDialog.setContentView(R.layout.dialog_list); //mDialog.setCanceledOnTouchOutside(true); listItem = (ListView) mDialog.findViewById(R.id.listFilter); txtHeader = (TextView) mDialog.findViewById(R.id.txtHeader); txtHeader.setText(mHeaderText); listItem.setChoiceMode(ListView.CHOICE_MODE_SINGLE); mDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { mIsDialogueClick = false; } }); mDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { mIsDialogueClick = false; } }); if (mDialogFor == 1) { mProductDetailDialogAdapter = new ProductDetailDialogAdapter(mActivity, mArrWeightList); listItem.setAdapter(mProductDetailDialogAdapter); } else if (mDialogFor == 2) { mTimeListAdapter = new TimeListAdapter(mActivity, mArrTimeList); listItem.setAdapter(mTimeListAdapter); } else if (mDialogFor == 3) { mOccasionListAdapter = new OccasionListAdapter(mActivity, mArrOccasionList); listItem.setAdapter(mOccasionListAdapter); } listItem.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mDialog.dismiss(); mIsDialogueClick = false; switch (mDialogFor) { case 1: text.setText(mArrWeightList.get(position).weight); mWeightPrice = Double.parseDouble(mArrWeightList.get(position).product_price + ""); mWeightId = mArrWeightList.get(position).weight_id; break; } calculatePrice(); } }); mDialog.show(); } private Handler handlerProductDetail = new Handler() { public void handleMessage(android.os.Message msg) { try { if (msg.what == 0) { // ApiDashboard if (msg.arg1 == 1) { productListArrayList = (ArrayList<ProductListBean>) msg.obj; if (productListArrayList != null && productListArrayList.size() > 0) { mArrWeightList = productListArrayList.get(0).mArrWeightList; if (mArrWeightList == null) { ll_weight.setVisibility(View.GONE); } else { for (int i = 0; i < mArrWeightList.size(); i++) { if (mWeightId.equals(mArrWeightList.get(i).weight_id)) { mWeightPrice = mArrWeightList.get(i).product_price; } } } } } else if (msg.arg1 == 2) { showSnackbar(mViewPager, getString(R.string.no_data_found)); } } } catch (Exception e) { e.printStackTrace(); Log.error(this.getClass().getSimpleName(), e); Log.debug(this.getClass().getSimpleName(), e + ""); } } }; 

Intereting Posts
Как EditText может принимать только значение integer или float? Android.database.CursorIndexOutOfBoundsException: запрашивается индекс 0 с размером 0 курсора Как вы получаете членов контактной группы? Использовать исходные карты javascript с телефонной связью После поиска элементов ListView на Android всегда открывайте первый элемент ListView (Issue) Как включить окно управления версиями в студии Android После изменения предпочтения (настройка) текст, отображающий настройки, не обновляется Загрузка изображения Gif с android с помощью утилиты aws-передачи вызывает сбой Как я могу правильно передать уникальные дополнения к ожидающемуся намерению? Расчет расстояния между двумя географическими точками Какой алгоритм смешивания цветов используется, чтобы затемнить цвет? Отображение символов в edroidxt android Многостраничные приложения в QML Пользовательский флажок показывает различные макеты для 2.3 и 4.2 Адаптер RecyclerView повторяет значения в неправильных местах