0

私のアプリでは、連絡先の電子メール 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);

コードがオート コンプリート テキストビューにメールを読み込まない理由がわかりません。私を助けてください。

4

1 に答える 1

1

リソースカーソルアダプターを使用して解決した皆さんに感謝します。

于 2013-01-26T18:15:25.940 に答える