0

在我的應用程序中,我需要在自動完成的文本視圖中填充聯繫人的電子郵件ID。我使用內容解析器在遊標中獲得了電子郵件ID。現在我必須實現自動完成textview的遊標適配器,以便從光標填充電子郵件ID。我已經嘗試了下面的代碼,但它沒有從光標加載電子郵件ID。遊標適配器實現自動完成textview上的Android

我的光標適配器類如下:

public class AutoEmailAdapter extends CursorAdapter{ 
private LayoutInflater inflater; 

public AutoEmailAdapter(Context context, Cursor c) { 
    super(context, c); 
    inflater = LayoutInflater.from(context); 
    Log.e("adapter", "18"); 
} 

@Override 
public void bindView(View view, Context context, Cursor cursor) { 
    Log.e("","bindview"); 
    String t = cursor.getString(1); 
    Log.e("adapter @ 23", t); 
    ((TextView) view).setText(t); 
} 

@Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    Log.e("","newview"); 
    inflater = LayoutInflater.from(context); 
    final TextView view = (TextView) inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent, false); 
    String te = cursor.getString(1); 
    Log.e("@33",te); 
    view.setText(te); 
    return view; 
} 

@Override 
public String convertToString(Cursor cursor) { 
    Log.e("","convertTostring"); 
    return cursor.getString(1); 
} 

} 

Android不超越的構造。 bindView,newView和convertToString方法沒有調用。

在我的主類我叫適配器類,如下列方式:

AutoEmailAdapter adapter = new AutoEmailAdapter(MainActivity.this, cursor_emailIds); 
    emailId.setAdapter(adapter); 

我不知道爲什麼我的代碼不會自動完成的TextView加載郵件的原因。請幫幫我。

+0

鑑於您的newView只是一個膨脹,爲什麼不擴展ResourceCursorAdapter呢? – njzk2

+0

你能詳細解釋一下嗎? –

+0

檢查ResourceCursorAdapter。它爲你做膨脹,基本上它可以讓你刪除你的newView並保持bindView只(但不能回答你的問題) – njzk2

回答

1

謝謝大家,我已經通過使用資源光標適配器解決了。