use of me.yokeyword.sample.demo_wechat.listener.OnItemClickListener in project Fragmentation by YoKeyword.
the class WechatFirstTabFragment method onLazyInitView.
@Override
public void onLazyInitView(@Nullable Bundle savedInstanceState) {
super.onLazyInitView(savedInstanceState);
mRefreshLayout.setOnRefreshListener(this);
mRecy.setLayoutManager(new LinearLayoutManager(_mActivity));
mRecy.setHasFixedSize(true);
final int space = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 0.5f, getResources().getDisplayMetrics());
mRecy.addItemDecoration(new RecyclerView.ItemDecoration() {
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.set(0, 0, 0, space);
}
});
mAdapter = new ChatAdapter(_mActivity);
mRecy.setAdapter(mAdapter);
mRecy.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mScrollTotal += dy;
if (mScrollTotal <= 0) {
mInAtTop = true;
} else {
mInAtTop = false;
}
}
});
mAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position, View view, RecyclerView.ViewHolder vh) {
// 因为启动的MsgFragment是MainFragment的兄弟Fragment,所以需要MainFragment.start()
// 这里我使用EventBus通知父MainFragment处理跳转(接耦),
EventBus.getDefault().post(new StartBrotherEvent(MsgFragment.newInstance(mAdapter.getMsg(position))));
// 也可以像使用getParentFragment()的方式,拿到父Fragment的引用来操作 (不建议)
// ((MainFragment) getParentFragment()).startMsgBrother(MsgFragment.newInstance());
}
});
List<Chat> chatList = initDatas();
mAdapter.setDatas(chatList);
}
use of me.yokeyword.sample.demo_wechat.listener.OnItemClickListener in project Fragmentation by YoKeyword.
the class FirstPagerFragment method initView.
private void initView(View view) {
EventBus.getDefault().register(this);
mRecy = (RecyclerView) view.findViewById(R.id.recy);
mRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.refresh_layout);
mRefreshLayout.setOnRefreshListener(this);
mAdapter = new PagerAdapter(_mActivity);
mRecy.setHasFixedSize(true);
LinearLayoutManager manager = new LinearLayoutManager(_mActivity);
mRecy.setLayoutManager(manager);
mRecy.setAdapter(mAdapter);
mRecy.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mScrollTotal += dy;
if (mScrollTotal <= 0) {
mInAtTop = true;
} else {
mInAtTop = false;
}
}
});
mAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position, View view, RecyclerView.ViewHolder holder) {
// 通知MainActivity跳转至CycleFragment
EventBus.getDefault().post(new StartBrotherEvent(CycleFragment.newInstance(1)));
}
});
// Init Datas
List<String> items = new ArrayList<>();
for (int i = 0; i < 20; i++) {
String item = "联系人 " + i;
items.add(item);
}
mAdapter.setDatas(items);
}
use of me.yokeyword.sample.demo_wechat.listener.OnItemClickListener in project Fragmentation by YoKeyword.
the class WechatThirdTabFragment method onLazyInitView.
@Override
public void onLazyInitView(@Nullable Bundle savedInstanceState) {
super.onLazyInitView(savedInstanceState);
mAdapter = new HomeAdapter(_mActivity);
LinearLayoutManager manager = new LinearLayoutManager(_mActivity);
mRecy.setLayoutManager(manager);
mRecy.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position, View view, RecyclerView.ViewHolder vh) {
// 通知MainActivity跳转至DetailFragment
EventBus.getDefault().post(new StartBrotherEvent(DetailFragment.newInstance(mAdapter.getItem(position).getTitle())));
}
});
// Init Datas
List<Article> articleList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Article article = new Article(mTitles[i], mContents[i]);
articleList.add(article);
}
mAdapter.setDatas(articleList);
mRecy.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mScrollTotal += dy;
if (mScrollTotal <= 0) {
mAtTop = true;
} else {
mAtTop = false;
}
}
});
}
Aggregations