/** * */ package coolbuy360.searchhealth; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AbsListView; import android.widget.Button; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.AbsListView.OnScrollListener; import coolbuy360.adapter.MemberHealthReportListAdapter; import coolbuy360.logic.ConstantsSetting; import coolbuy360.logic.NoticeStateConfig; import coolbuy360.logic.User; import coolbuy360.service.StrictModeWrapper; import coolbuy360.service.TimestampException; import coolbuy360.service.searchApp; /** * ��Ա�������� * @author yangxc * */ public class MemberHealthReport extends Activity { private ListView listView; private int pageIndex = 1;// ���ڵڼ�ҳ���� private int pageSize = ConstantsSetting.QLDefaultPageSize;// ÿҳ��ʾ������ private boolean isloading; private Button loadMoreButton; private ProgressBar proBar; private TextView protxt; private View loadMoreView; private MemberHealthReportListAdapter adapter; LinearLayout async_begin; LinearLayout async_error; searchApp app; String memberid; String membername; String sex; @Override protected void onCreate(Bundle savedInstanceState) { // StrictModeWrapper.init(this); StrictModeWrapper.init(getBaseContext()); super.onCreate(savedInstanceState); // Ϊ�˳���׼�� app=searchApp.getInstance(); app.addActivity(this); setContentView(R.layout.member_healthreport); /*Bundle bundle = getIntent().getExtras(); membername = bundle.getString("membername"); sex = bundle.getString("sex");*/ memberid = User.getMemberID(); listView = (ListView) this.findViewById(R.id.member_healthreport_liv); // ������������������������������������׼����ʼ��foot_loading�ؼ������������������������������������������� loadMoreView = getLayoutInflater().inflate(R.layout.p_druglist_foot, null); loadMoreButton = (Button) loadMoreView .findViewById(R.id.p_listview_footbtn); proBar = (ProgressBar) loadMoreView.findViewById(R.id.p_probar); protxt = (TextView) loadMoreView.findViewById(R.id.p_protxt); listView.addFooterView(loadMoreView); // �����б�ײ���ͼ // *******************************����ļ����¼��������������������������������������������������������������� async_begin = (LinearLayout) findViewById(R.id.async_begin); async_begin.setVisibility(View.VISIBLE); async_error = (LinearLayout) findViewById(R.id.async_error); listView.setVisibility(View.GONE); // ������һ�� ImageButton actionbar_pre_btn = (ImageButton) this .findViewById(R.id.actionbar_pre_btn); actionbar_pre_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { MemberHealthReport.this.finish();// } }); // �༭��ť Button actionbar_add_btn = (Button) this .findViewById(R.id.actionbar_add_btn); actionbar_add_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent().setClass(MemberHealthReport.this, HealthDossier.class); startActivity(intent); } }); View member_healthreport_listitem_head = getLayoutInflater().inflate( R.layout.member_healthreport_listitem_head, null); TextView member_healthreport_listitem_head_name = (TextView) member_healthreport_listitem_head .findViewById(R.id.member_healthreport_listitem_head_name); member_healthreport_listitem_head_name.setText("������" + User.getMemberName(this)); TextView member_healthreport_listitem_head_sex = (TextView) member_healthreport_listitem_head .findViewById(R.id.member_healthreport_listitem_head_sex); sex = User.getValue(this, "Sex"); String sexString = "����"; if (sex != null && !(sex.equals(""))) { if (sex.equals("1")) { sexString = "��"; } else if (sex.equals("0")) { sexString = "Ů"; } } member_healthreport_listitem_head_sex.setText("�Ա�" + sexString); listView.addHeaderView(member_healthreport_listitem_head, null, false); // ������������������������������������������������������ʼ���б�����Դ���������������������������������������������������������������������� new AsyncLoader_GuessInfo().execute(); // �����¹��ܡ�New��ͼ�� /*String healthReport_IsVisited = NoticeStateConfig.getValue(this, NoticeStateConfig.HealthReport_IsVisited); if (healthReport_IsVisited.equals("0")) { if (ConMain.mConMain != null) { ConMain.mConMain.setNewFunction("��Ա", false); Member imember = Member.getInstance(); if(imember!=null){ imember.setNewFunction(1, false); } NoticeStateConfig.setValue(this, NoticeStateConfig.HealthReport_IsVisited, "1"); } }*/ } /** * ��ʼ�������� * * @param name * ����idֵ */ private void initAdapter(List<Map<String, String>> sourcelist) { // TODO Auto-generated method stub adapter = new MemberHealthReportListAdapter(this, sourcelist); if (sourcelist.size() < pageSize) { loadMoreView.setVisibility(View.GONE); } listView.setVisibility(View.VISIBLE); listView.setAdapter(adapter);// �Զ�ΪidΪ��list��listview���������� listView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub if (firstVisibleItem + visibleItemCount == totalItemCount) { if (!isloading)// ���û�м����� { loadMoreButton.setVisibility(View.GONE); proBar.setVisibility(View.VISIBLE); protxt.setVisibility(View.VISIBLE); new AsynLoader_more().execute(); } else { // storeListView.removeFooterView(loadMoreView);// } } } }); /*listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View v, int posion, long arg3) { //FootView Item ��� if (arg3 == -1) return; Map<String, String> map = (Map<String, String>) parent.getAdapter().getItem(posion); Intent tintent = new Intent().setClass(MemberHealthReport.this, ArticleDetail.class);// ������һ��activity tintent.putExtra("articleid", map.get("ArticleID")); tintent.putExtra("title", map.get("Title")); tintent.putExtra("resume", map.get("Resume")); tintent.putExtra("createtime", map.get("CreateTime")); startActivity(tintent); } });*/ } /** * ��ҳ���ظ������� */ private class AsynLoader_more extends AsyncTask<String, Void, Integer> { List<Map<String, String>> innerlist; @Override protected Integer doInBackground(String... params) { // TODO Auto-generated method stub try { innerlist = coolbuy360.logic.MemberHealthReport.getList(memberid, pageSize, pageIndex + 1); if (innerlist != null) { return (innerlist.size() > 0) ? 0 : 1; } else { return 2;// �������Ӵ��� } } catch (Exception e) { // TODO Auto-generated catch block return 2; } } @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); isloading = true; } @Override protected void onPostExecute(Integer result) { // TODO Auto-generated method stub // StrictModeWrapper.init(getApplicationContext()); if (result == 0) { for (Map<String, String> item : innerlist) { adapter.addItem(item); } if (innerlist.size() < pageSize) { loadMoreView.setVisibility(View.GONE); } else { loadMoreButton.setText("����"); loadMoreButton.setVisibility(View.VISIBLE); } proBar.setVisibility(View.GONE); protxt.setVisibility(View.GONE);// ����progressbar isloading = false; adapter.notifyDataSetChanged(); pageIndex++; } else if (result == 1) { // ������ݼ������ if (innerlist.size() < pageSize) { loadMoreView.setVisibility(View.GONE); } else { loadMoreButton.setVisibility(View.VISIBLE); } // loadMoreButton.setVisibility(View.VISIBLE); loadMoreButton.setBackgroundColor(getResources().getColor( R.color.transparent)); loadMoreButton.setClickable(false); loadMoreButton.setText("û�и������ݣ�"); proBar.setVisibility(View.GONE); // ����progressbar protxt.setVisibility(View.GONE); // isloading = false; } else if (result == 2) { loadMoreButton.setVisibility(View.VISIBLE); loadMoreButton.setBackgroundColor(getResources().getColor( R.color.transparent)); loadMoreButton.setText("�������Ӵ���"); proBar.setVisibility(View.GONE); protxt.setVisibility(View.GONE);// ����progressbar isloading = false; } } } /** * ��һ���첽�������� */ private class AsyncLoader_GuessInfo extends AsyncTask<String, Void, Integer> { List<Map<String, String>> innerlist; @Override protected Integer doInBackground(String... params) { try { innerlist = coolbuy360.logic.MemberHealthReport.getList(memberid, pageSize, 1); if (innerlist != null) { return (innerlist.size() > 0 ) ? 0 : 1; } else { return 2; } } catch (TimestampException ex) { return -2; } catch (Exception ex) { return 2; } } @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); loadMoreView.setVisibility(View.VISIBLE); } @Override // ������� protected void onPostExecute(Integer result) { if (result == 0) { initAdapter(innerlist); async_begin.setVisibility(View.GONE); } else if (result == 1) { async_begin.setVisibility(View.GONE); TextView async_error_txt = (TextView) async_error .findViewById(R.id.async_error_txt); Button async_error_reflesh = (Button) async_error .findViewById(R.id.async_error_reflesh); async_error_reflesh.setVisibility(View.GONE); async_error_txt.setText("��û����ؽ�����־��"); async_error.setVisibility(View.VISIBLE); } else { async_begin.setVisibility(View.GONE); async_error.setVisibility(View.VISIBLE); TextView async_error_txt = (TextView) async_error .findViewById(R.id.async_error_txt); if (result == -2) { async_error_txt.setText(R.string.error_timestamp); } else { async_error_txt.setText(R.string.error_nonetwork); } Button async_error_reflesh = (Button) async_error .findViewById(R.id.async_error_reflesh); async_error_reflesh.setVisibility(View.VISIBLE); async_error_reflesh.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub async_error.setVisibility(View.GONE); async_begin.setVisibility(View.VISIBLE); new AsyncLoader_GuessInfo().execute(); } }); } } } }