package net.oschina.gitapp.ui.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.widget.ImageView; import android.widget.TextView; import net.oschina.gitapp.AppContext; import net.oschina.gitapp.R; import net.oschina.gitapp.api.HTTPRequestor; import net.oschina.gitapp.bean.Commit; import net.oschina.gitapp.bean.Issue; import net.oschina.gitapp.bean.Project; import net.oschina.gitapp.bean.URLs; import net.oschina.gitapp.common.Contanst; import net.oschina.gitapp.common.StringUtils; import net.oschina.gitapp.common.UIHelper; import net.oschina.gitapp.ui.basefragment.BaseFragment; /** * issue详情fragment * * @author 火蚁(http://my.oschina.net/LittleDY) * @created 2014-08-25 */ public class IssueDetailFragment extends BaseFragment { private AppContext mAppContext; private Issue mIssue; private Project mProject; private TextView mIssueTitle; private TextView mIssueUserName; private ImageView mIssueUserFace; private TextView mIssueData; private WebView mWebView; public static IssueDetailFragment newInstance(Project project, Commit commit) { IssueDetailFragment fragment = new IssueDetailFragment(); Bundle args = new Bundle(); args.putSerializable(Contanst.PROJECT, project); args.putSerializable(Contanst.COMMIT, commit); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mAppContext = getGitApplication(); return inflater.inflate(R.layout.issue_detail, null); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); initView(view); initData(); } private void initView(View view) { mIssueTitle = (TextView) view.findViewById(R.id.issue_title); mIssueUserName = (TextView) view.findViewById(R.id.issue_author_name); mIssueUserFace = (ImageView) view.findViewById(R.id.issue_author_face); mIssueData = (TextView) view.findViewById(R.id.issue_date); mWebView = (WebView) view.findViewById(R.id.issue_content); } private void initData() { Bundle args = getArguments(); if (args != null) { mProject = (Project) args.getSerializable(Contanst.PROJECT); mIssue = (Issue) args.getSerializable(Contanst.ISSUE); } if (mProject != null && mIssue != null) { setIssueDetail(); } } private void setIssueDetail() { mIssueTitle.setText(mIssue.getTitle()); mIssueUserName.setText(mIssue.getAuthor().getName()); mIssueData.setText("创建于" + StringUtils.friendly_time(mIssue.getCreatedAt())); mWebView.loadDataWithBaseURL(null, UIHelper.WEB_STYLE + mIssue.getDescription(), "text/html", HTTPRequestor.UTF_8, null); String portrait = mIssue.getAuthor().getPortrait() == null ? "" : mIssue.getAuthor().getPortrait(); if (portrait.endsWith("portrait.gif") || StringUtils.isEmpty(portrait)) { mIssueUserFace.setImageResource(R.drawable.widget_dface); } else { String portraitURL = URLs.GITIMG + mIssue.getAuthor().getPortrait(); UIHelper.showUserFace(mIssueUserFace, portraitURL); } } }