【发布时间】:2013-05-11 18:24:09
【问题描述】:
我有一个名为BinderData 的类,它扩展了BaseAdapter。我想获得基类上下文。我尝试使用getContext(),但在BaseAdapter 的情况下不起作用。
我怎样才能得到这个类的上下文?
【问题讨论】:
标签: android baseadapter android-context
我有一个名为BinderData 的类,它扩展了BaseAdapter。我想获得基类上下文。我尝试使用getContext(),但在BaseAdapter 的情况下不起作用。
我怎样才能得到这个类的上下文?
【问题讨论】:
标签: android baseadapter android-context
另一种解决方案-
如果你有父母,你可以像这样直接访问上下文——
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;
}
}
【讨论】:
创建一个将Context 作为其参数之一的构造函数,并将其存储在私有变量中。
public class SampleAdapter extends BaseAdapter {
private Context context;
public SampleAdapter(Context context) {
this.context = context;
}
/* ... other methods ... */
}
【讨论】:
getApplicationContext() 或 this。
Context context = parent.getContext();
【讨论】: