package net.oschina.gitapp.ui.fragments;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Message;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import net.oschina.gitapp.R;
import net.oschina.gitapp.adapter.ViewPageFragmentAdapter;
import net.oschina.gitapp.bean.Issue;
import net.oschina.gitapp.bean.Project;
import net.oschina.gitapp.common.Contanst;
import net.oschina.gitapp.ui.IssueCommentActivity;
import net.oschina.gitapp.ui.IssueDetailActivity;
import net.oschina.gitapp.ui.basefragment.BaseViewPagerFragment;
/**
* issue详情页面
*
* @author 火蚁(http://my.oschina.net/LittleDY)
* @created 2014-08-25
*/
public class IssueDetailViewPagerFragment extends BaseViewPagerFragment {
private Project mProject;
private Issue mIssue;
public static IssueDetailViewPagerFragment newInstance(Project project, Issue issue) {
IssueDetailViewPagerFragment fragment = new IssueDetailViewPagerFragment();
Bundle args = new Bundle();
args.putSerializable(Contanst.PROJECT, project);
args.putSerializable(Contanst.ISSUE, issue);
fragment.setArguments(args);
return fragment;
}
@Override
protected void onSetupTabAdapter(ViewPageFragmentAdapter adapter) {
Bundle args = getArguments();
mProject = (Project) args.getSerializable(Contanst.PROJECT);
mIssue = (Issue) args.getSerializable(Contanst.ISSUE);
adapter.addTab("详情", "detail", IssueDetailFragment.class, args);
adapter.addTab("评论", "comments", IssueCommentFragment.class, args);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.issue_detail_menu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.issue_menu_comment:
showIssueComment();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
private void showIssueComment() {
if (mProject == null || mIssue == null) {
return;
}
Intent intent = new Intent(getGitApplication(), IssueCommentActivity.class);
Bundle bundle = new Bundle();
bundle.putSerializable(Contanst.PROJECT, mProject);
bundle.putSerializable(Contanst.ISSUE, mIssue);
intent.putExtras(bundle);
startActivity(intent);
}
}