package com.hyrt.cei.ui.main; import java.util.ArrayList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebSettings; import android.webkit.WebSettings.LayoutAlgorithm; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import com.hyrt.cei.R; import com.hyrt.cei.adapter.AnnouncementListAdapter; import com.hyrt.cei.application.CeiApplication; import com.hyrt.cei.ui.common.WebViewUtil; import com.hyrt.cei.ui.ebook.BaseActivity; import com.hyrt.cei.ui.personcenter.PersonCenter; import com.hyrt.cei.ui.witsea.WitSeaActivity; import com.hyrt.cei.util.MyTools; import com.hyrt.cei.util.XmlUtil; import com.hyrt.cei.vo.AnnouncementNews; import com.hyrt.cei.vo.ColumnEntry; import com.hyrt.cei.webservice.service.Service; /** * 通知公告 * * @author Administrator * */ public class Announcement extends BaseActivity implements OnClickListener { private ExecutorService executorService = Executors.newFixedThreadPool(1); private String htmlHade = MyTools.noticeHtml; private ListView list; private List<AnnouncementNews> announcementNews; private Intent i; private WebView view; private String loginName; private boolean isload; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.announcement); overridePendingTransition(R.anim.push_in, R.anim.push_out); SharedPreferences settings = getSharedPreferences("loginInfo", Activity.MODE_PRIVATE); loginName = settings.getString("LOGINNAME", ""); init(); view = (WebView) findViewById(R.id.tzgg_web); view.getSettings().setDefaultTextEncodingName("gbk"); WebSettings webSettings = view.getSettings(); webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); view.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(final WebView view, final String url) { view.loadUrl(url);// 载入网页 return true; }// 重写点击动作,用webview载入 }); SharedPreferences settings1 = getSharedPreferences("announcementCount", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = settings1.edit(); editor.putInt("old", settings1.getInt("new", 0)); editor.commit(); } public void init() { // findViewById(R.id.home).setOnClickListener(this); // findViewById(R.id.home_witsea).setOnClickListener(this); // findViewById(R.id.home_ceinet).setOnClickListener(this); // findViewById(R.id.home_personcenter).setOnClickListener(this); // findViewById(R.id.home_disclaimer).setOnClickListener(this); list = (ListView) findViewById(R.id.tzgg_list); refreshListData(); list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, final int position, long arg3) { for (int i = 0; i < list.getChildCount(); i++) { if (i == position) list.getChildAt(i).setBackgroundColor(Color.WHITE); else list.getChildAt(i).setBackgroundDrawable(null); } view.loadUrl(htmlHade + announcementNews.get(position).getId()); } }); } Handler newsHandler = new Handler() { public void handleMessage(Message msg) { AnnouncementListAdapter adapter = new AnnouncementListAdapter( Announcement.this, R.layout.tzgg_list_item, announcementNews); list.setAdapter(adapter); if(!isload) view.loadUrl("file:///android_asset/load.html"); isload = true; new Handler().postDelayed(new Runnable() { @Override public void run() { if (announcementNews.size() > 0) { view.loadUrl(htmlHade + announcementNews.get(0).getId()); } } }, 1000); } }; private void refreshListData() { executorService.submit(new Runnable() { @Override public void run() { announcementNews = new ArrayList<AnnouncementNews>(); String rs = ""; ColumnEntry columnEntry = ((CeiApplication) getApplication()).columnEntry; rs = Service.queryNotice(columnEntry.getUserId()); try { announcementNews = XmlUtil.getAnnouncement(rs); } catch (Exception e) { e.printStackTrace(); } Message msg = newsHandler.obtainMessage(); newsHandler.sendMessage(msg); } }); } protected void onPause() { super.onPause(); Announcement.this.finish(); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.home: Announcement.this.finish(); break; case R.id.home_witsea: i = new Intent(Announcement.this, WitSeaActivity.class); if (!loginName.equals("")) startActivity(i); break; case R.id.home_ceinet: i = new Intent(Announcement.this, WebViewUtil.class); i.putExtra("path", "http://mob.cei.gov.cn/"); startActivity(i); break; case R.id.home_personcenter: i = new Intent(Announcement.this, PersonCenter.class); if (!loginName.equals("")) startActivity(i); break; case R.id.home_disclaimer: i = new Intent(Announcement.this, Disclaimer.class); startActivity(i); break; } } @Override protected void onDestroy() { executorService.shutdown(); super.onDestroy(); } }