Почему иногда Alert Dialog мерцает при использовании веб-просмотра в нем - PullRequest
0 голосов
/ 28 января 2019

Пожалуйста, помогите мне найти решение моей проблемы -

Я реализовал представление рециркулятора, где при нажатии на элемент открывается диалоговое окно с предупреждением, которое содержит веб-просмотр, в котором анализируются данные HTML.Для прокрутки иногда я замечаю мерцание Alert Dialog.Я не знаю, что именно.

Заранее спасибо!

Это проблеск кода, который я написал -

if(message.getCONTENT_TYPE().equals("HTML"))
    {  //holder.setIsRecyclable(false);
        webView= new WebView(context);
        String Text="HTML Content, "+"Click to open!";
        holder.messageView.setText(Text);

        if(message.getMESSAGE_TYPE() == TYPE_SENT){
                                                                                          holder.messageView.setBackgroundResource(R.drawable.balloon_html_sent);
            holder.item.setGravity(Gravity.END);
            holder.messageView.setTextColor(holder.messageView.getResources().getColor(R.color.white));
            holder.messageView.setTypeface(null, Typeface.BOLD);
        }else if(message.getMESSAGE_TYPE() == TYPE_REC){
            holder.messageView.setBackgroundResource(R.drawable.balloon_html_received);
            holder.item.setGravity(Gravity.START);
            holder.messageView.setTextColor(holder.messageView.getResources().getColor(R.color.white));
            holder.messageView.setTypeface(null, Typeface.BOLD);
        }else {
            holder.messageView.setBackgroundResource(R.drawable.balloon_html_mid);
            holder.item.setGravity(Gravity.CENTER_HORIZONTAL);
            holder.messageView.setTextColor(holder.messageView.getResources().getColor(R.color.white));
            holder.messageView.setTypeface(null, Typeface.BOLD_ITALIC);
        }
        holder.messageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder=new AlertDialog.Builder(context,R.style.CustomAlertDialog);

                LinearLayout wrapper = new LinearLayout(context);
                WebView webView = new WebView(context);
                EditText keyboardHack = new EditText(context);


                keyboardHack.setVisibility(View.GONE);

                webView.loadData(message.getCONTENT(), "text/html", "utf-8");

                wrapper.setOrientation(LinearLayout.VERTICAL);
                wrapper.addView(webView,  LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
                wrapper.addView(keyboardHack, LinearLayout
                        .LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
                if(wrapper.getParent() != null) {
                    ((ViewGroup)wrapper.getParent()).removeView(wrapper);
                }
                builder.setView(wrapper);
               builder.create().show();



            }
        });

    }
...