0

Gmail 스타일 칩을 텍스트 필드에 추가하기 위해 TokenAutoComplete 라이브러리를 사용하고 있습니다. 모든 것이 잘 작동합니다. 유일한 문제는 UI가로드 될 때 내 ChipTextView에 항목을 추가하고 싶지만 그렇게 할 방법을 찾을 수 없다는 것입니다. 내가 어댑터에 추가하는 모든 항목은 대신 제안으로 표시됩니다.TokenAutoComplete Android에 항목 추가하기

내 ChipTextView 클래스 : 내가 ChipTextView을 설정하고 어디서

public class ChipTextView extends TokenCompleteTextView { 

    public ChipTextView(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 
    } 

    public ChipTextView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     // TODO Auto-generated constructor stub 
    } 

    public ChipTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    protected Object defaultObject(String text) { 
     return text; 
    } 

    @Override 
    protected View getViewForObject(Object text) { 
     String hashtag = (String) text; 
     LayoutInflater l = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     LinearLayout view = (LinearLayout) l.inflate(R.layout.chiptextview_item, 
       (ViewGroup) ChipTextView.this.getParent(), false); 
     ((TextView) view.findViewById(R.id.tv_text)).setText(hashtag); 

     return view; 
    } 
} 

내 조각 :

ArrayList<String> list=new ArrayList<>(); 
list.add("hello"); 
list.add("hi"); 
list.add("how"); 

ChipTextView tv_chipview=(ChipTextView) parentView.findViewById(R.id.tv_chipview); 
ArrayAdapter<String> mAdapter; 
mAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1,list); 
tv_chipview.setAdapter(mAdapter); 
tv_chipview.allowDuplicates(false); 
tv_chipview.setDeletionStyle(TokenDeleteStyle.Clear); 

내가 사용하는 어댑터에 항목을 추가 할 때 그것이 표시하는 방법입니다 코드 Image after setting up my UI

설정 후 출력을 표시하고 싶습니다. 이것은 내가 내 키보드를 사용할 때이 표시되는 방법은 다음과 같습니다 내가 키보드를 사용하여이를 추가 한 것처럼 보인다 그래서 코드에서 ChipTextView에 항목을 추가 할 수있는 방법

What it looks like if i add items mannually using keyboard

?

답변

3

내 문제의 해결책은 TokenAutoComplete github documentation에 있습니다. 나는 전에 이것을 놓친 방법을 모르지만 나는 마침내 그것을 발견했다. :)

동일한 문제에 직면 한 사람은 ChipTextView에 항목을 추가하는 방법을 addObject() 사용하는 것이 좋습니다.