You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.1 KiB

package com.community.pocket.ui.main.ui.forum.news;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import com.community.pocket.R;
import com.community.pocket.ui.main.ui.forum.FormLoad;
import com.community.pocket.ui.main.ui.forum.ForumPost;
import com.community.pocket.ui.main.ui.share.Response;
import org.xutils.view.annotation.ContentView;
/**
* 最新帖子
*/
@ContentView(R.layout.forum_new_fragment)
public class ForumNewFragment extends ForumPost {
private ForumNewViewModel viewModel;
private Long currentPage = 1L;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewModel = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(ForumNewViewModel.class);
load(1L);
//监听最新帖子请求状态
viewModel.getForumNewResponse().observe(getViewLifecycleOwner(), forumNewResponse -> {
if (forumNewResponse == null) {
return;
}
forumNewResponse.toast(getContext());
if (forumNewResponse.getResult() == Response.Result.OK) {
this.currentPage = forumNewResponse.getForumList().getCurrentPage();
loadPost(forumNewResponse.getForumList());
}
});
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
loadMore();
}
}
@Override
protected int showAuthor() {
return View.VISIBLE;
}
@Override
protected int showStatus() {
return View.GONE;
}
@Override
protected FormLoad getViewModel() {
return viewModel;
}
@Override
protected Long getCurrentPage() {
return currentPage;
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
load(1L);
}
}