2019.5.21,在fzsd

上代码:标红的是接口传值和回调

activity:

public class Result_look_TabLayoutActivity extends AppCompatActivity {


TextView inventoryAmount;
Button button_backl;
private TabLayout mTabLayout;
private ViewPager mViewPager;
private LayoutInflater mInflater;
private List<String> mTitleList = new ArrayList<>();//页卡标题集合
private View view1, view2, view3, view4, view5;//页卡视图
private List<View> mViewList = new ArrayList<>();//页卡视图集合
private List<String> listTitles;
private List<Fragment> fragments;
private List<TextView> listTextViews;
private List<data_new> data_news;

@RequiresApi(api = Build.VERSION_CODES.GINGERBREAD)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result_look_tablayout);
mViewPager = (ViewPager) findViewById(R.id.vp_view);
mTabLayout = (TabLayout) findViewById(R.id.tabs);
button_backl = findViewById(R.id.bt_back);
inventoryAmount = findViewById(R.id.inventory_amount);

initData();
button_backl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
inventoryAmount.setText(data_news.size() + "");


}

private void initData() {
data_news = DBManager.getInstance(Result_look_TabLayoutActivity.this).queryUserList();

listTitles = new ArrayList<>();
fragments = new ArrayList<>();
listTextViews = new ArrayList<>();

listTitles.add("全部数据");
listTitles.add("已盘");
listTitles.add("未盘");


// for (int i = 0; i < listTitles.size(); i++) {
OneFragment oneFragment = OneFragment.newInstance(listTitles.get(0));
TwoFragment twoFragment = TwoFragment.newInstance(listTitles.get(1));
ThreeFragment threeFragment = ThreeFragment.newInstance(listTitles.get(2));
oneFragment.setOnReeshAmount(new OneFragment.OnReeshAmount() { //activity调用,接口回调
@Override
public void onClick(int title) {
inventoryAmount.setText(title + "");
}
});

twoFragment.setOnReeshAmount(new OneFragment.OnReeshAmount() {
@Override
public void onClick(int title) {
inventoryAmount.setText(title + "");
}
});
threeFragment.setOnReeshAmount(new OneFragment.OnReeshAmount() {
@Override
public void onClick(int title) {
inventoryAmount.setText(title + "");
}
});

Fragment:

public class OneFragment extends Fragment {
private View view;//定义view用来设置fragment的layout
public RecyclerView mCollectRecyclerView;//定义RecyclerView
//定义以goodsentity实体类为对象的数据集合
private List<data_new> goodsEntityList = new ArrayList<data_new>();
//自定义recyclerveiw的适配器
private OneAdapter mCollectRecyclerAdapter;
//獲取shuju
private List<data_new> data_news;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//获取fragment的layout
view = inflater.inflate(R.layout.fragment_one, container, false);
//初始化数据
initData();
//对recycleview进行配置
initRecyclerView();
return view;
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);

}

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
goodsEntityList = DBManager.getInstance(getActivity()).queryUserList();

//TODO now it's visible to user
//查询数据更新下面的总数目 接口回调
if (onReeshAmount != null) { //触发
onReeshAmount.onClick(goodsEntityList.size());
}
} else {

}
}

/**
* fragment静态传值
*/
public static OneFragment newInstance(String str) {
OneFragment fragment = new OneFragment();
// Bundle bundle = new Bundle();
// bundle.putString(KEY,str);
// fragment.setArguments(bundle);
return fragment;
}

/**
* TODO 模拟数据
*/
private void initData() {
goodsEntityList = DBManager.getInstance(getActivity()).queryUserList();
}

/**
* TODO 对recycleview进行配置
*/

private void initRecyclerView() {
//获取RecyclerView
mCollectRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
//创建adapter
mCollectRecyclerAdapter = new OneAdapter(getActivity(), goodsEntityList);
//给RecyclerView设置adapter
mCollectRecyclerView.setAdapter(mCollectRecyclerAdapter);
//设置layoutManager,可以设置显示效果,是线性布局、grid布局,还是瀑布流布局
//参数是:上下文、列表方向(横向还是纵向)、是否倒叙
mCollectRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
//设置item的分割线
mCollectRecyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL));
//RecyclerView中没有item的监听事件,需要自己在适配器中写一个监听事件的接口。参数根据自定义
mCollectRecyclerAdapter.setOnItemClickListener(new OneAdapter.OnItemClickListener() {
@Override
public void OnItemClick(View view, data_new data) {
//此处进行监听事件的业务处理
Toast.makeText(getActivity(), "我是item", Toast.LENGTH_SHORT).show();
}
});
}
//定义变量
private OnReeshAmount onReeshAmount;
//定义触发方法
public void setOnReeshAmount(OnReeshAmount onReeshAmount) {
this.onReeshAmount = onReeshAmount;
}

/**
* 当title被点击时,将title传递出去
*/
//定义接口
public interface OnReeshAmount {

void onClick(int title);
}