80,492
社区成员
发帖
与我相关
我的任务
分享public class ContentActivity extends Activity implements OnPageChangeListener {
private WebView contentView;
private ProgressBar progressBar;
private ViewPager mPager;
private List<View> listViews = new ArrayList<View>();
private MyApplication app;
private int position;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.content_activity);
app = (MyApplication) getApplication();
getActionBar().setTitle("");
getActionBar().setDisplayHomeAsUpEnabled(true);
Drawable b = this.getResources().getDrawable(
R.drawable.abc_list_longpressed_holo);
getActionBar().setBackgroundDrawable(b);
mPager = (ViewPager) findViewById(R.id.vPager);
mPager.setAdapter(new WebViewPagerAdapter(listViews));
position = getIntent().getIntExtra("position", 1);
initView();
addWebView();
}
public void addWebView() {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < app.getNewsDatas().size(); i++) {
WebView wView = new WebView(this);
wView.getSettings().setCacheMode(
WebSettings.LOAD_CACHE_ELSE_NETWORK);
wView.getSettings().setJavaScriptEnabled(true);
wView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
});
wView.setHorizontalScrollBarEnabled(false);
wView.loadUrl(app.getNewsDatas().get(i).getNewsUrl());
listViews.add(wView);
}
}
}).start();
}
public void initView() {
contentView = (WebView) findViewById(R.id.content_webview);
contentView.getSettings().setCacheMode(
WebSettings.LOAD_CACHE_ELSE_NETWORK);
contentView.getSettings().setJavaScriptEnabled(true);
contentView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
});
contentView.setHorizontalScrollBarEnabled(false);
contentView.loadUrl(getIntent().getStringExtra("url"));
}
public void getContent(int parmPosition) {
contentView.loadUrl(app.getNewsDatas().get(position).getNewsUrl());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.content, menu);
MenuItem menuItem = menu.findItem(R.id.news_fav);
DBManager manager = new DBManager(this);
if (manager.queryFav(getIntent().getIntExtra("id", 0))) {
menuItem.setIcon(android.R.drawable.star_on);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.news_fav) {
DBManager manager = new DBManager(this);
if (!manager.queryFav(getIntent().getIntExtra("id", 0))) {
NewsData data = new NewsData();
data.setNewsId(getIntent().getIntExtra("id", 0));
data.setNewsTitle(getIntent().getStringExtra("title"));
data.setNewsUrl(getIntent().getStringExtra("url"));
data.setNewsImg(getIntent().getStringExtra("img"));
data.setNewsTime(getIntent().getStringExtra("time"));
manager.insertToFav(data);
item.setIcon(android.R.drawable.star_on);
} else {
manager.deleteFromFav(getIntent().getIntExtra("id", 0));
item.setIcon(android.R.drawable.star_off);
}
} else if (id == R.id.news_share) {
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT,
getString(R.string.share_app));
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent,
getString(R.string.share_title)));
} else if (id == android.R.id.home) {
finish();
overridePendingTransition(R.anim.from_left_in,
R.anim.from_right_out);
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
// super.onBackPressed();
finish();
overridePendingTransition(R.anim.from_left_in, R.anim.from_right_out);
}
public void showPre() {
position -= 1;
// return app.getNewsDatas().get(position).getNewsUrl();
}
public void showNext() {
position += 1;
// return app.getNewsDatas().get(position).getNewsUrl();
}
public class WebViewPagerAdapter extends PagerAdapter {
public List<View> mListViews;
public WebViewPagerAdapter(List<View> mListViews) {
this.mListViews = mListViews;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(mListViews.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public int getCount() {
return mListViews.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(mListViews.get(arg1), position);
return mListViews.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == (arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
getContent(arg0);
}
}