package org.aisen.weibo.sina.ui.fragment.publish; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.ImageView; import org.aisen.android.component.bitmaploader.BitmapLoader; import org.aisen.android.network.http.Params; import org.aisen.android.support.inject.ViewInject; import org.aisen.android.ui.activity.basic.BaseActivity; import org.aisen.android.ui.fragment.ABaseFragment; import org.aisen.weibo.sina.R; import org.aisen.weibo.sina.sinasdk.bean.StatusContent; import org.aisen.weibo.sina.sinasdk.bean.WeiBoUser; import org.aisen.weibo.sina.support.bean.PublishBean; import org.aisen.weibo.sina.support.bean.PublishBean.PublishStatus; import org.aisen.weibo.sina.support.bean.PublishType; import org.aisen.weibo.sina.support.utils.AisenUtils; import org.aisen.weibo.sina.support.utils.ImageConfigUtils; import org.aisen.weibo.sina.support.utils.UMengUtil; /** * 转发微博 * * @author wangdan * */ public class PublishStatusRepostFragment extends APublishFragment implements OnCheckedChangeListener { public static ABaseFragment newInstance(PublishBean bean) { PublishStatusRepostFragment fragment = new PublishStatusRepostFragment(); Bundle args = new Bundle(); args.putSerializable("bean", bean); fragment.setArguments(args); return fragment; } @ViewInject(id = R.id.imgPhoto) ImageView imgPhoto; @Override protected void layoutInit(LayoutInflater inflater, Bundle savedInstanceState) { super.layoutInit(inflater, savedInstanceState); btnCamera.setVisibility(View.GONE); btnOverflow.setVisibility(View.GONE); editContent.setHint(R.string.publish_share_def); if (getPublishBean().getStatusContent().getRetweeted_status() != null || getPublishBean().getExtras() != null && getPublishBean().getExtras().containsKey("weiguan")) { WeiBoUser user = getPublishBean().getStatusContent().getUser(); if (user != null) { editContent.setText(String.format("//@%s:%s", user.getScreen_name(), getPublishBean().getStatusContent().getText())); if (getPublishBean().getExtras() != null && getPublishBean().getExtras().containsKey("weiguan")) editContent.setText(String.format("→_→%s", editContent.getText().toString())); } else { showMessage(R.string.publish_status_none); return; } } // 当转发,内容为空时,自动添加"转发微博" if (TextUtils.isEmpty(editContent.getText().toString().trim())) { // editContent.setText(R.string.publish_also_repost); // editContent.setSelection(editContent.getText().toString().length()); } StatusContent status = getPublishBean().getStatusContent().getRetweeted_status() != null ? getPublishBean().getStatusContent().getRetweeted_status() : getPublishBean().getStatusContent(); txtContent.setText(AisenUtils.getCommentText(status.getText())); if (status.getUser() != null) BitmapLoader.getInstance().display(this, AisenUtils.getUserPhoto(status.getUser()), imgPhoto, ImageConfigUtils.getLargePhotoConfig()); checkBox.setText(R.string.publish_cmt_to_user); checkBox.setChecked("3".equals(getPublishBean().getParams().getParameter("is_comment"))); checkBox.setOnCheckedChangeListener(this); ((BaseActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); ((BaseActivity) getActivity()).getSupportActionBar().setTitle(R.string.title_repost); } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { getPublishBean().getParams().addParameter("is_comment", isChecked ? "3" : "0"); } @Override PublishBean newPublishBean() { return null; } public static PublishBean generateBean(StatusContent status) { PublishBean bean = new PublishBean(); bean.setStatusContent(status); bean.setType(PublishType.statusRepost); bean.setStatus(PublishStatus.create); bean.setParams(new Params()); // bean.getParams().addParameter("id", status.getRetweeted_status() != null ? status.getRetweeted_status().getId() : status.getId()); bean.getParams().addParameter("id", status.getId() + ""); // 是否在转发的同时发表评论,0:否、1:评论给当前微博、2:评论给原微博、3:都评论,默认为0 。 bean.getParams().addParameter("is_comment", "0"); return bean; } @Override boolean checkValid(PublishBean bean) { String content = editContent.getText().toString(); // status bean.getParams().addParameter("status", content); return true; } @Override public int inflateContentView() { return R.layout.ui_publish_status_comment; } @Override public void onResume() { super.onResume(); UMengUtil.onPageStart(getActivity(), "发布转发微博页"); } @Override public void onPause() { super.onPause(); UMengUtil.onPageEnd(getActivity(), "发布转发微博页"); } }