use of me.zhanghai.android.douya.ui.LoadMoreAdapter in project Douya by DreaminginCodeZH.
the class BroadcastFragment method onActivityCreated.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
CustomTabsHelperFragment.attachTo(this);
mBroadcastAndCommentListResource = BroadcastAndCommentListResource.attachTo(mBroadcastId, mBroadcast, this);
AppCompatActivity activity = (AppCompatActivity) getActivity();
activity.setTitle(getTitle());
activity.setSupportActionBar(mToolbar);
mContainerLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ActivityCompat.finishAfterTransition(getActivity());
}
});
ViewCompat.setTransitionName(mSharedView, Broadcast.makeTransitionName(mBroadcastId));
// This magically gives better visual effect when the broadcast is partially visible. Using
// setEnterSharedElementCallback() disables this hack when no transition is used to start
// this Activity.
ActivityCompat.setEnterSharedElementCallback(activity, new SharedElementCallback() {
@Override
public void onSharedElementEnd(List<String> sharedElementNames, List<View> sharedElements, List<View> sharedElementSnapshots) {
mBroadcastCommentList.scrollToPosition(0);
}
});
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
mBroadcastAndCommentListResource.loadBroadcast();
mBroadcastAndCommentListResource.loadCommentList(false);
}
});
mBroadcastCommentList.setHasFixedSize(true);
mBroadcastCommentList.setItemAnimator(new NoChangeAnimationItemAnimator());
mBroadcastCommentList.setLayoutManager(new LinearLayoutManager(activity));
mBroadcastAdapter = new SingleBroadcastAdapter(null, this);
setBroadcast(mBroadcastAndCommentListResource.getBroadcast());
mCommentAdapter = new CommentAdapter(mBroadcastAndCommentListResource.getCommentList(), new ClickableSimpleAdapter.OnItemClickListener<Comment, CommentAdapter.ViewHolder>() {
@Override
public void onItemClick(RecyclerView parent, Comment item, CommentAdapter.ViewHolder holder) {
onShowCommentAction(item);
}
});
mAdapter = new LoadMoreAdapter(R.layout.load_more_item, mBroadcastAdapter, mCommentAdapter);
mBroadcastCommentList.setAdapter(mAdapter);
mBroadcastCommentList.addOnScrollListener(new OnVerticalScrollListener() {
public void onScrolledToBottom() {
mBroadcastAndCommentListResource.loadCommentList(true);
}
});
CheatSheetUtils.setup(mSendButton);
mSendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onSendComment();
}
});
updateSendCommentStatus();
if (savedInstanceState == null) {
if (mShowSendComment) {
TransitionUtils.postAfterTransition(this, new Runnable() {
@Override
public void run() {
onShowSendComment();
}
});
}
}
TransitionUtils.setEnterReturnExplode(this);
TransitionUtils.setupTransitionOnActivityCreated(this);
}
use of me.zhanghai.android.douya.ui.LoadMoreAdapter in project Douya by DreaminginCodeZH.
the class BaseBroadcastListFragment method onActivityCreated.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
CustomTabsHelperFragment.attachTo(this);
mBroadcastListResource = onAttachBroadcastListResource();
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
onSwipeRefresh();
}
});
mBroadcastList.setHasFixedSize(true);
mBroadcastList.setItemAnimator(new NoChangeAnimationItemAnimator());
// Always use StaggeredGridLayoutManager so that instance state can be saved.
Activity activity = getActivity();
int columnCount = CardUtils.getColumnCount(activity);
mBroadcastList.setLayoutManager(new StaggeredGridLayoutManager(columnCount, StaggeredGridLayoutManager.VERTICAL));
mBroadcastAdapter = new BroadcastAdapter(mBroadcastListResource.get(), this);
mAdapter = new LoadMoreAdapter(R.layout.load_more_card_item, mBroadcastAdapter);
mBroadcastList.setAdapter(mAdapter);
final AppBarHost appBarHost = (AppBarHost) getParentFragment();
mBroadcastList.addOnScrollListener(new OnVerticalScrollWithPagingTouchSlopListener(activity) {
@Override
public void onScrolled(int dy) {
if (!RecyclerViewUtils.hasFirstChildReachedTop(mBroadcastList)) {
onShow();
}
}
@Override
public void onScrolledUp() {
onShow();
}
private void onShow() {
appBarHost.showAppBar();
mSendFab.show();
}
@Override
public void onScrolledDown() {
if (RecyclerViewUtils.hasFirstChildReachedTop(mBroadcastList)) {
appBarHost.hideAppBar();
mSendFab.hide();
}
}
@Override
public void onScrolledToBottom() {
mBroadcastListResource.load(true);
}
});
updateRefreshing();
CheatSheetUtils.setup(mSendFab);
mSendFab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onSendBroadcast();
}
});
}
use of me.zhanghai.android.douya.ui.LoadMoreAdapter in project Douya by DreaminginCodeZH.
the class NotificationListFragment method onActivityCreated.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mNotificationListResource = NotificationListResource.attachTo(this);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
refresh();
}
});
mNotificationList.setHasFixedSize(true);
mNotificationList.setItemAnimator(new NoChangeAnimationItemAnimator());
Activity activity = getActivity();
mNotificationList.setLayoutManager(new LinearLayoutManager(activity));
mNotificationAdapter = new NotificationAdapter(mNotificationListResource.get(), activity);
mNotificationAdapter.setListener(this);
mAdapter = new LoadMoreAdapter(R.layout.load_more_item, mNotificationAdapter);
mNotificationList.setAdapter(mAdapter);
mNotificationList.addOnScrollListener(new OnVerticalScrollListener() {
@Override
public void onScrolledToBottom() {
mNotificationListResource.load(true);
}
});
updateRefreshing();
}
use of me.zhanghai.android.douya.ui.LoadMoreAdapter in project Douya by DreaminginCodeZH.
the class UserListFragment method onActivityCreated.
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mUserListResource = onAttachUserListResource();
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
mUserListResource.load(false);
}
});
// TODO: OK?
//mUserList.setHasFixedSize(true);
mUserList.setItemAnimator(new NoChangeAnimationItemAnimator());
mUserList.setLayoutManager(new LinearLayoutManager(getActivity()));
mUserAdapter = onCreateAdapter();
if (mUserListResource.has()) {
//noinspection unchecked
mUserAdapter.replace(mUserListResource.get());
}
mAdapter = new LoadMoreAdapter(R.layout.load_more_item, mUserAdapter);
mUserList.setAdapter(mAdapter);
mUserList.addOnScrollListener(new OnVerticalScrollListener() {
@Override
public void onScrolledToBottom() {
mUserListResource.load(true);
}
});
updateRefreshing();
}
Aggregations