修改回答/文章草稿发布后的跳转逻辑
This commit is contained in:
@ -159,6 +159,7 @@ public class EntranceUtils {
|
||||
public static final String KEY_QA_ID = "qaId";
|
||||
public static final String KEY_QA_COLLECTION_ID = "qaCollectionId";
|
||||
public static final String KEY_SHOW_EDIT_DRAFT = "showEditDraft";
|
||||
public static final String KEY_ARTICLE_OPEN_IN_NEW_PAGE = "openArticleInNewPage";
|
||||
|
||||
public static void jumpActivity(Context context, Bundle bundle) {
|
||||
bundle.putBoolean(KEY_REQUIRE_REDIRECT, true);
|
||||
|
||||
@ -151,6 +151,7 @@ class AnswerDraftAdapter extends ListAdapter<AnswerEntity> {
|
||||
answerEntity.getQuestions(),
|
||||
"",// 会自动获取草稿所以该数据可以不填
|
||||
answerEntity.getCommunityName(),
|
||||
true,
|
||||
true));
|
||||
}
|
||||
});
|
||||
|
||||
@ -593,13 +593,15 @@ class AnswerEditActivity : BaseRichEditorActivity(), KeyboardHeightObserver {
|
||||
question: Questions?,
|
||||
content: String?,
|
||||
communityName: String?,
|
||||
showEditDraft: Boolean = false): Intent {
|
||||
showEditDraft: Boolean = false,
|
||||
showInNewPage: Boolean = false): Intent {
|
||||
val intent = Intent(context, AnswerEditActivity::class.java)
|
||||
intent.putExtra(EntranceUtils.KEY_ANSWER_ID, answerId)
|
||||
intent.putExtra(EntranceUtils.KEY_ANSWER_CONTENT, content)
|
||||
intent.putExtra(EntranceUtils.KEY_COMMUNITY_NAME, communityName)
|
||||
intent.putExtra(EntranceUtils.KEY_SHOW_EDIT_DRAFT, showEditDraft)
|
||||
intent.putExtra(Questions::class.java.simpleName, question)
|
||||
intent.putExtra(EntranceUtils.KEY_ANSWER_OPEN_IN_NEW_PAGE, showInNewPage)
|
||||
return intent
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ class ArticleDraftFragment : ListFragment<ArticleDraftEntity, NormalListViewMode
|
||||
id = it.articleId,
|
||||
title = it.title,
|
||||
community = it.community)
|
||||
startActivity(ArticleEditActivity.getPatchIntent(requireContext(), detailEntity, it))
|
||||
startActivity(ArticleEditActivity.getPatchIntent(requireContext(), detailEntity, it, true))
|
||||
}
|
||||
}
|
||||
} else if (activity != null) {
|
||||
|
||||
@ -104,6 +104,7 @@ class ArticleEditActivity : BaseRichEditorActivity() {
|
||||
mViewModel = ViewModelProviders.of(this).get(ArticleEditViewModel::class.java)
|
||||
mViewModel.detailEntity = intent.getParcelableExtra(ArticleDetailEntity::class.java.simpleName)
|
||||
mViewModel.draftEntity = intent.getParcelableExtra(ArticleDraftEntity::class.java.simpleName)
|
||||
mViewModel.openArticleInNewPage = intent.getBooleanExtra(EntranceUtils.KEY_ARTICLE_OPEN_IN_NEW_PAGE, false)
|
||||
|
||||
mGameNameTitle.text = Html.fromHtml(getString(R.string.article_edit_game_name))
|
||||
mRichEditor.setOnTextChangeListener { t ->
|
||||
@ -518,17 +519,22 @@ class ArticleEditActivity : BaseRichEditorActivity() {
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getPatchIntent(context: Context, detailEntity: ArticleDetailEntity, draftEntity: ArticleDraftEntity? = null): Intent {
|
||||
fun getPatchIntent(context: Context,
|
||||
detailEntity: ArticleDetailEntity,
|
||||
draftEntity: ArticleDraftEntity? = null,
|
||||
showInNewPage: Boolean = false): Intent {
|
||||
val intent = Intent(context, ArticleEditActivity::class.java)
|
||||
intent.putExtra(ArticleDetailEntity::class.java.simpleName, detailEntity)
|
||||
intent.putExtra(ArticleDraftEntity::class.java.simpleName, draftEntity)
|
||||
intent.putExtra(EntranceUtils.KEY_ARTICLE_OPEN_IN_NEW_PAGE, showInNewPage)
|
||||
return intent
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getDraftIntent(context: Context, draftEntity: ArticleDraftEntity): Intent {
|
||||
fun getDraftIntent(context: Context, draftEntity: ArticleDraftEntity, showInNewPage: Boolean = true): Intent {
|
||||
val intent = Intent(context, ArticleEditActivity::class.java)
|
||||
intent.putExtra(ArticleDraftEntity::class.java.simpleName, draftEntity)
|
||||
intent.putExtra(EntranceUtils.KEY_ARTICLE_OPEN_IN_NEW_PAGE, showInNewPage)
|
||||
return intent
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,6 +63,8 @@ class ArticleEditViewModel(application: Application) : AndroidViewModel(applicat
|
||||
var title: String? = null
|
||||
var content: String? = null
|
||||
|
||||
var openArticleInNewPage: Boolean = false
|
||||
|
||||
/**
|
||||
* 获取默认标签和确定当前communityId
|
||||
*/
|
||||
|
||||
@ -59,13 +59,13 @@ class ArticleTagsSelectFragment : BaseFragment<String>() {
|
||||
initTags()
|
||||
|
||||
mViewModel?.postArticle?.observe(this, Observer {
|
||||
if (mViewModel?.detailEntity != null) {
|
||||
if (mViewModel?.openArticleInNewPage == false) {
|
||||
val intent = Intent()
|
||||
intent.putExtra(ArticleDetailEntity::class.java.simpleName, mViewModel?.detailEntity)
|
||||
activity?.setResult(Activity.RESULT_OK, intent)
|
||||
} else {
|
||||
activity?.setResult(Activity.RESULT_OK)
|
||||
val articleId = JSONObject(it).getString("_id")
|
||||
val articleId = mViewModel?.detailEntity?.id ?: JSONObject(it).getString("_id")
|
||||
val intent = ArticleDetailActivity.getIntent(requireContext(),
|
||||
mViewModel?.mSelectCommunityData!!,
|
||||
articleId, mEntrance, "撰写文章")
|
||||
|
||||
Reference in New Issue
Block a user