package com.mzoneapp.zjjmb.ui;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.actionbarsherlock.view.Window;
import com.mzoneapp.zjjmb.R;
import com.mzoneapp.zjjmb.ui.ArticleFragment.ArticleTaskListener;
public class ArticleActivity extends SherlockFragmentActivity implements
ArticleTaskListener {
private boolean useLogo = true;
private boolean showHomeUp = true;
ArticleFragment mAf = null;
boolean mRefresh = false;
// The news the article index for the article we are to
// display
int mArtIndex;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This has to be called before setContentView and you must use the
// class in com.actionbarsherlock.view and NOT android.view
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
// If we are in two-pane layout mode, this activity is no longer
// necessary
if (getResources().getBoolean(R.bool.has_two_panes)) {
finish();
return;
}
final ActionBar ab = getSupportActionBar();
// set defaults for logo & home up
ab.setDisplayHomeAsUpEnabled(showHomeUp);
ab.setDisplayUseLogoEnabled(useLogo);
ab.setDisplayShowTitleEnabled(true);
// Place an ArticleFragment as our content pane
mAf = new ArticleFragment();
mAf.setOnArticleTaskListener(this);
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, mAf).commit();
// Display the correct news article on the fragment
Bundle bd = getIntent().getExtras();
String type = bd.getString("type");
if (null != type) {
try {
switch (Integer.parseInt(type)) {
case 1:
setTitle("通知公告");
break;
case 2:
setTitle("局内动态");
break;
case 3:
setTitle("工作动态");
break;
default:
finish();
return;
}
mAf.setArguments(bd);
} catch (Exception e) {
Log.d("d", e.getMessage());
finish();
return;
}
}
}
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("id", mAf.mArticleId);
this.setResult(1, intent);
finish();
overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_down);
// super.onBackPressed();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activity_article, menu);
return (super.onCreateOptionsMenu(menu));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// app icon in action bar clicked; go home
// Intent intent = new Intent(this, MainActivity.class);
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// startActivity(intent);
onBackPressed();
return true;
case R.id.menu_reflesh:
mAf.reflersh();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
if (mRefresh)
menu.getItem(0).setVisible(false);
else
menu.getItem(0).setVisible(true);
return true;
}
@Override
public void onTaskStarted() {
setSupportProgress(Window.PROGRESS_END);
setProgressBar(true);
}
@Override
public void onTaskCompleted() {
setProgressBar(false);
}
@Override
public void onTaskFailed() {
setProgressBar(false);
}
private void setProgressBar(boolean refresh) {
setSupportProgressBarIndeterminateVisibility(mRefresh = refresh);
invalidateOptionsMenu();
}
}