【发布时间】:2018-07-06 08:53:32
【问题描述】:
我有一个包含许多片段的活动。在每个片段中,我都有一个:
回收站视图
按钮
我可以使用 viewpager 从片段移动到另一个片段。
我正在从服务器获取数据并将它们传递给适配器以填充 recyclerview,如下所示:
adapter = new BrandsAdapter(getContext(), postArray,btValider,viewPager);
其中 postArray 是字符串列表。
BrandsAdapter.class:
public BrandsAdapter(Context context, ArrayList<Brand> filteredItems,Button btValider,ViewPager viewPager) {
this.context = context;
this.filteredItems = filteredItems;
this.btValider=btValider;
this.viewPager=viewPager;
}
onBindViewHolder
btValider.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
.....
// Get user selected brands and move to another fragment
viewPager.setCurrentItem(3);
}
});
如何创建一个接口,我可以在其中添加 mybutton 和 viewpager 实例,这样我就不会直接通过 BrandsAdapter 传递它们,因为从内存的角度来看,通过构造函数传递 viewpager 实例或其他视图可以创建循环依赖和因此内存泄漏。
【问题讨论】: