私のアプリでは、連絡先の電子メール ID をオートコンプリート テキストビューに入力する必要があります。コンテンツ リゾルバーを使用して、カーソル内の電子メール ID を取得しました。ここで、カーソルから電子メール ID を入力するためのオート コンプリート テキストビュー用のカーソル アダプターを実装する必要があります。次のコードを試しましたが、カーソルから電子メール ID が読み込まれませんでした。
私のカーソルアダプタークラスは次のとおりです。
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);
コードがオート コンプリート テキストビューにメールを読み込まない理由がわかりません。私を助けてください。