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.

90 lines
2.6 KiB

package com.community.pocket.ui.main.ui.forum.my;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.SearchView;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import com.community.pocket.R;
import com.community.pocket.ui.main.ui.forum.ForumPost;
import com.community.pocket.ui.main.ui.share.Response;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;
/**
* 我的帖子
*/
@ContentView(R.layout.forum_my_fragment)
public class ForumMyFragment extends ForumPost {
private ForumMyViewModel viewModel;
@ViewInject(R.id.search)
private SearchView searchView;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewModel = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(ForumMyViewModel.class);
viewModel.loadForumMy(1, "");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if (!query.isEmpty()) {
viewModel.loadForumMy(1, searchView.getQuery().toString());
return true;
} else {
return false;
}
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
//监听我的帖子加载状态
viewModel.getForumMyResponse().observe(getViewLifecycleOwner(), new Observer<ForumMyResponse>() {
@Override
public void onChanged(ForumMyResponse forumMyResponse) {
if (forumMyResponse == null) {
return;
}
forumMyResponse.toast(getContext());
if (forumMyResponse.getResult() == Response.Result.OK) {
loadPost(forumMyResponse.getForumList());
}
}
});
}
@Override
protected int showAuthor() {
return View.GONE;
}
@Override
protected int showStatus() {
return View.VISIBLE;
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
viewModel.loadForumMy(1, "");
}
}