android 关于BaseAdapter里的context
有个activity页面,里面有个Fragment,Fragment里面有个GridView,为GridView设置MyBaseAdapter。在写MyBaseAdapt...
有个activity页面,里面有个Fragment,Fragment里面有个GridView,为GridView 设置 MyBaseAdapter。
在写 MyBaseAdapter类时, public View getView 里的
View view = View.inflate(context, R.layout.activity_fragment, null);
context 该怎么写?从哪里传递过来 展开
在写 MyBaseAdapter类时, public View getView 里的
View view = View.inflate(context, R.layout.activity_fragment, null);
context 该怎么写?从哪里传递过来 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
2个回答
展开全部
/*上下文*/
private Context context;
/*图片数据*/
private List<Map<String,Object>> list;
/*数据所在的位置*/
private LayoutInflater inflater;
public ProductClassifyAdapter(Context context,
List<Map<String, Object>> list,LayoutInflater inflater) {
super();
this.context = context;
this.list = list;
this.inflater=LayoutInflater.from(context);
}
在构造函数里面写
private Context context;
/*图片数据*/
private List<Map<String,Object>> list;
/*数据所在的位置*/
private LayoutInflater inflater;
public ProductClassifyAdapter(Context context,
List<Map<String, Object>> list,LayoutInflater inflater) {
super();
this.context = context;
this.list = list;
this.inflater=LayoutInflater.from(context);
}
在构造函数里面写
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的适配器类里要加个方法!如下:
private Context context;
public 适配器类名(Context
context){
super();
this.context = context;
}
你的Fragement还要设置适配器gridview.setActivity(new 适配器类名(context));//contetx意思就是当前活动的上下文(context),gridview就是你的GridView的布局ID啦!可以这样获取
GridView gridview = (GridView) view.findViewById(R.id.你的GridView的ID名);
那view又是怎么获取的?在你的Fragement里的onCreateView方法里
private Context context;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_top,container,false);
getGridView(view);//设置适配器的方法
return view;
}
private void getGridView(View view){
gridview.setActivity(new 适配器类名(context));
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
这样就会把活动里的context传递到你的适配器类里,执行getView方法时里的context就是这样来的,其实你可以用Log.d("字符串","字符串")来测试适配器类是如何运行的,getcount方法返回的长度如3,就会根据此长度调用getView几次
private Context context;
public 适配器类名(Context
context){
super();
this.context = context;
}
你的Fragement还要设置适配器gridview.setActivity(new 适配器类名(context));//contetx意思就是当前活动的上下文(context),gridview就是你的GridView的布局ID啦!可以这样获取
GridView gridview = (GridView) view.findViewById(R.id.你的GridView的ID名);
那view又是怎么获取的?在你的Fragement里的onCreateView方法里
private Context context;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_top,container,false);
getGridView(view);//设置适配器的方法
return view;
}
private void getGridView(View view){
gridview.setActivity(new 适配器类名(context));
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = getActivity();
}
这样就会把活动里的context传递到你的适配器类里,执行getView方法时里的context就是这样来的,其实你可以用Log.d("字符串","字符串")来测试适配器类是如何运行的,getcount方法返回的长度如3,就会根据此长度调用getView几次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询