14

BinderDataを拡張するという名前のクラスがありますBaseAdapter。基本クラスのコンテキストを取得したい。使用しようとしましgetContext()たが、の場合は機能しませんBaseAdapter

このクラスのコンテキストを取得するにはどうすればよいですか?

4

3 に答える 3

32

もう1つの解決策-

親がいる場合は、次のようにコンテキストに直接アクセスできます-

 public class SampleAdapter extends BaseAdapter {

            LayoutInflater inflater;

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                if(inflater == null){
                Context context = parent.getContext();
                inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                }
                ...
                ...

                return convertView;
            }

    }
于 2014-02-20T08:39:35.377 に答える
15

Context引数の 1 つとしてa を取り、それをプライベート変数に格納するコンストラクターを作成します。

public class SampleAdapter extends BaseAdapter {
    private Context context;

    public SampleAdapter(Context context) {
        this.context = context;
    }

    /* ... other methods ... */
}
于 2013-05-16T18:15:44.497 に答える