package com.community.pocket.ui.main.ui.forum.post; import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.constraintlayout.widget.ConstraintLayout; import com.community.pocket.R; import com.community.pocket.ui.BaseFragment; import com.community.pocket.ui.main.ui.forum.main.ForumFragment; import com.community.pocket.ui.main.ui.share.Response; import com.community.pocket.ui.main.ui.share.ShowWordCount; import org.xutils.view.annotation.ViewInject; import java.util.Objects; /** * 发送正文界面 */ abstract class ForumPostContent extends BaseFragment { /** * 发送标题 */ EditText postTitle; /** * 发帖按钮 */ Button postButton; @ViewInject(R.id.post_content_layout) private ConstraintLayout contentLayout; //发送正文 EditText postContent; @RequiresApi(api = Build.VERSION_CODES.KITKAT) @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); ShowWordCount showWordCount = new ShowWordCount(new int[]{R.id.show_count_bottom, R.id.show_count_top}, R.id.post_content, view); showWordCount.showCount(); initParentView(); } //初始化父级布局组件 @RequiresApi(api = Build.VERSION_CODES.KITKAT) private void initParentView() { ForumPostFragment forumPostFragment = getParentFragment(ForumPostFragment.class); View parentView = Objects.requireNonNull(Objects.requireNonNull(forumPostFragment).getView()); postTitle = parentView.findViewById(R.id.post_title); postButton = parentView.findViewById(R.id.post_button); postContent = contentLayout.findViewById(R.id.post_content); } //监听发帖状态 void sendPost(ForumPostViewModel viewModel) { viewModel.getForumPostResponse().observe(getViewLifecycleOwner(), forumPostResponse -> { if (forumPostResponse == null) { return; } forumPostResponse.toast(getContext()); if (forumPostResponse.getResult() == Response.Result.OK) { ForumFragment forumFragment = getParentFragment(ForumFragment.class); Button button = Objects.requireNonNull(forumFragment.getView()).findViewById(R.id.forum_new); forumFragment._new(button); } }); } }