How do I get MultiAutoCompleteTextView tokenizer similar to Facebook app?

后端 未结 3 798
广开言路
广开言路 2020-12-10 15:08

I am creating an application which has a \'To\' field just like in Facebook app\'s \"New Message\" feature.

After selecting an item from the drop down list, I create

3条回答
  •  [愿得一人]
    2020-12-10 15:48

    Found the solution....

    Add this textwatcher to the multiautocompletetextview

    private TextWatcher textWather = new TextWatcher() {
        int noOfCharAdded=0;int noOfCharDeleted=0;
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            startIdx=start;
        }
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,int after) {
            noOfCharAdded=after;
            noOfCharDeleted=count;
        }
        @Override
        public void afterTextChanged(Editable s) {
            Editable buffer = s;
            int start = multiContentText.getSelectionStart()<0?0:multiContentText.getSelectionStart();
            int end = multiContentText.getSelectionEnd()<0?0:multiContentText.getSelectionEnd();
                    if(noOfCharAdded==0 && noOfCharDeleted==1){ //if space is deleted
                            if (start == end && delPrevText) {                          
                                ImageSpan link[] = buffer.getSpans(start, end,ImageSpan.class);
                                if (link.length > 0) {                                  
                                    buffer.replace(buffer.getSpanStart(link[0]),buffer.getSpanEnd(link[0]),"");
                                    buffer.removeSpan(link[0]);
                                }
                            }
                            delPrevText=true; 
                            multiContentText.setSelection(multiContentText.getText().length());
                    }
                    else if(noOfCharAdded==0 && noOfCharDeleted>1){//if the whole word is deleted
                            if(buffer.length()>0){                                           
                                if(start

提交回复
热议问题