0

我有一個AutoCompleteTextView,它使用SimpleCursorAdapter爲輸入字段篩選電子郵件。我有它的工作,雖然有一些deprecated命令,我不知道如何返工。具有SimpleCursorAdapter的AutoCompleteTextView用於未返回遊標實際值的聯繫人

我遇到的唯一問題是,當我從提供的列表中的值,我沒有收到電子郵件地址選擇,但是像下面這樣:

[email protected] 

這裏是我的代碼:

final AutoCompleteTextView edt_Contact = (AutoCompleteTextView)findViewById(idTo); 

    ContentResolver cr = getContentResolver(); 
    String[] projection={ContactsContract.CommonDataKinds.Email._ID,ContactsContract.CommonDataKinds.Email.ADDRESS}; 
    Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, null, null, null); 

    startManagingCursor(cursor); 
    String[] from = new String[] { ContactsContract.CommonDataKinds.Email.ADDRESS}; 
    int[] to = new int[] { android.R.id.text1}; 
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to); 

    adapter.setFilterQueryProvider(new FilterQueryProvider() { 
     public Cursor runQuery(CharSequence constraint) { 
      return getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
        new String[] {}, 
        ContactsContract.CommonDataKinds.Email.ADDRESS + " LIKE '%" + constraint + "%'", 
        null, null); 
     } 
    }); 

    edt_Contact.setAdapter(adapter); 

有關如何獲得實際選定值以在選擇時填充AutoCompleteTextView的任何建議?

此外,如上所述,棄用的項目是startManagingCursorSimpleCursorAdapter

回答

1

找到了解決辦法,我在這裏張貼的任何人有類似的情況

我需要添加以下

adapter.setStringConversion(1); 

我在上面的例子中的最後一行之前添加它。這從

[email protected]

到選定的電子郵件地址改變的結果。

只是擡頭也使用MultiAutoCompleteTextView做同樣的事情,任何人,此代碼爲以及...只是改變AutoCompleteTextView前加,並添加您選擇的.setTokenizer

相關問題