-2

edittextで連絡先を検索したい。しかし、edittext は連絡先のリストを表示しません。電話番号を edittext の検索と表示に一致させる方法を教えてください。

    String products[]={};
   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
   Bundle savedInstanceState) {
mInflater = inflater;
    View view = inflater.inflate(R.layout.contacts_list, container, false);
   contactsList = (ListView) view.findViewById(R.id.contactsList);
     inputSearch=(EditText) view.findViewById(R.id.inputSearch);

    adapter = new ArrayAdapter<String>(getActivity(), R.layout.listitem,           R.id.product_name, products);
    contactsList.setAdapter(adapter);       

   (this,android.R.layout.select_dialog_item,str));

    inputSearch.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3)

        {
            ContactsFragment.this.adapter.getFilter().filter(cs);

                }
            }  
        } 
    });

    return view;
}
4

1 に答える 1

1

EditText の代わりに AutoCompleteTextView を使用できます。

   AutoCompleteTextView inputSearch=(AutoCompleteTextView) view.findViewById(R.id.inputSearch);
   products = new String[]{"Product1","product2","product3"}; 
   inputSearch.setAdapter(new ArrayAdapter<String>(getActivity(),R.layout.listitem,products));
    inputSearch.setThreshold(1);
    inputSearch.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            inputSearch.showDropDown();
        }
    });

    inputSearch.setOnItemClickListener(new OnItemClickListener(){

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long rowId) {
        //Do whatever you want with selected object
        }
      }

これを試して。

于 2013-10-24T08:31:22.017 に答える