1

My question almost same like

getExtractedText on inactive InputConnection warning on android

When i editText, then i trigger something/like func A. Then i press back to lost focus on editText, then it trigger editText onchange multiple times(func A called multiple times).

when on editText onchange once (func A result) :

HIT KEY

When i lost focus ( It' will trigger as much as editText that shown and the result is func A called multiple times ) :

HIT KEY
HIT KEY
HIT KEY
HIT KEY
HIT KEY
HIT KEY

And my question is, why between them there is warning message :

W/IInputConnectionWrapper: beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper: endBatchEdit on inactive InputConnection

How i can stop this warning, or someone could help me understand about this message. Why after this message pop up, trigger onchange editText again multiple times.

enter image description here

Some note :

  • using Android Studio 3.5

  • I'm using listView in CustomeAdapter :

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        final String TAG = "get view ";
    
        if (convertView == null) {
            holder = new ViewHolder();
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.lv_item, null, true);
    
            holder.editTextCrt = (EditText) convertView.findViewById(R.id.editidCrt);
            holder.editTextLsn = (EditText) convertView.findViewById(R.id.editidLsn);
            holder.editTextPcs = (EditText) convertView.findViewById(R.id.editidPcs);
            holder.editTextSeq = (EditText) convertView.findViewById(R.id.editidSeq);
            holder.textView = (TextView) convertView.findViewById(R.id.viewid);
    
            convertView.setTag(holder);
        }else {
            // the getTag returns the viewHolder object set as a tag to the view
            holder = (ViewHolder)convertView.getTag();
        }
    
        holder.editTextCrt.setText(editModelArrayList.get(position).getEditTextValueCrt());
        holder.editTextLsn.setText(editModelArrayList.get(position).getEditTextValueLsn());
        holder.editTextPcs.setText(editModelArrayList.get(position).getEditTextValuePcs());
        holder.editTextSeq.setText(editModelArrayList.get(position).getEditTextValueSeq());
        holder.textView.setText(editModelArrayList.get(position).getTextViewValue());
    
        holder.editTextCrt.addTextChangedListener(new TextWatcher() {
            boolean mToggle = false;
            boolean mToggle2 = false;
    
            public void onTextChanged(CharSequence s, int i, int i1, int i2) {
                if (mToggle) {
                    if (mToggle2) {
                        if(s.length() != 0){
                            Log.d(TAG, "onTextChanged: HIT KEY" );
                            editModelArrayList.get(position).setEditTextValueCrt(holder.editTextCrt.getText().toString());
                        }
                    }
                    mToggle2 = !mToggle2;
                }
                mToggle = !mToggle;
            }
        }
    }
    
Budi Mulyo
  • 384
  • 5
  • 22

0 Answers0