package coolbuy360.searchhealth; import java.util.ArrayList; import java.util.HashMap; 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.Button; import android.widget.ExpandableListView; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import coolbuy360.adapter.DiseaseDescriptionAdapter; import coolbuy360.logic.Disease; import coolbuy360.logic.DrugStore; import coolbuy360.service.searchApp; /** * @author Administrator * */ public class DiseaseDecription extends Activity { LinearLayout async_begin; LinearLayout async_error; ExpandableListView dis_decription_explistview; String diseaseid; String diseasename; //List<Map<String, String>> grouplist; //List<List<Map<String, String>>> childs; //Map<String, String> child; //List<Map<String, String>> //List<Map<String,String>> getInfo(String diseaseID) @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //Ϊ�˳���׼�� searchApp.getInstance().addActivity(this); setContentView(R.layout.drugdisease_description); Bundle bundle=getIntent().getExtras(); diseaseid=bundle.getString("diseaseid"); diseasename=bundle.getString("diseasesname"); async_begin = (LinearLayout) findViewById(R.id.async_begin); async_error = (LinearLayout) findViewById(R.id.async_error); dis_decription_explistview = (ExpandableListView) findViewById(R.id.dis_decription_explistview); ImageButton actionbar_pre_btn=(ImageButton)this.findViewById(R.id.actionbar_pre_btn); actionbar_pre_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub DiseaseDecription.this.finish(); } }); new AsyncLoad().execute(); } /**��ʼ������ * @param id * ����ļ���id */ private void initdata(Map<String, String> diseaseInfo) { // TODO Auto-generated method stub View disInfoHead=getLayoutInflater().inflate(R.layout.drugdisease_description_head, null); View disInfofoot=getLayoutInflater().inflate(R.layout.drugdisease_description_foot, null); TextView txtname=(TextView)disInfoHead.findViewById(R.id.dis_decription_name); txtname.setText(diseaseInfo.get("diseasename")); TextView txtothername=(TextView)disInfoHead.findViewById(R.id.dis_decription_othername); txtothername.setText(diseaseInfo.get("diseasealias")); TextView txtpart=(TextView)disInfoHead.findViewById(R.id.dis_decription_part); txtpart.setText(diseaseInfo.get("part")); TextView txtintroduct=(TextView)disInfoHead.findViewById(R.id.dis_decription_introduct); txtintroduct.setText(diseaseInfo.get("descr")); List<Map<String, String>> grouplist=new ArrayList<Map<String,String>>(); List<List<Map<String, String>>> childs=new ArrayList<List<Map<String,String>>>(); Map<String, String> groupdataMap1=new HashMap<String, String>(); groupdataMap1.put("group", "֢״����"); grouplist.add(groupdataMap1); Map<String, String> child1_1=new HashMap<String, String>(); child1_1.put("child", diseaseInfo.get("symptoms")); List<Map<String, String>> child1=new ArrayList<Map<String,String>>(); child1.add(child1_1); childs.add(child1); Map<String, String> groupdataMap2=new HashMap<String, String>(); groupdataMap2.put("group", "��ϼ���"); grouplist.add(groupdataMap2); Map<String, String> child2_1=new HashMap<String, String>(); child2_1.put("child", diseaseInfo.get("diffdiag")); List<Map<String, String>> child2=new ArrayList<Map<String,String>>(); child2.add(child2_1); childs.add(child2); Map<String, String> groupdataMap3=new HashMap<String, String>(); groupdataMap3.put("group", "����"); grouplist.add(groupdataMap3); //childlist.add(diseaseinfolist.get(0).get("pathogeny")); Map<String, String> child3_1=new HashMap<String, String>(); child3_1.put("child", diseaseInfo.get("pathogeny")); List<Map<String, String>> child3=new ArrayList<Map<String,String>>(); child3.add(child3_1); childs.add(child3); Map<String, String> groupdataMap4=new HashMap<String, String>(); groupdataMap4.put("group", "����"); grouplist.add(groupdataMap4); //childlist.add(diseaseinfolist.get(0).get("treat")); Map<String, String> child4_1=new HashMap<String, String>(); child4_1.put("child", diseaseInfo.get("treat")); List<Map<String, String>> child4=new ArrayList<Map<String,String>>(); child4.add(child4_1); childs.add(child4); Map<String, String> groupdataMap5=new HashMap<String, String>(); groupdataMap5.put("group", "Ԥ������"); grouplist.add(groupdataMap5); //childlist.add(diseaseinfolist.get(0).get("preventivecare")); Map<String, String> child5_1=new HashMap<String, String>(); child5_1.put("child", diseaseInfo.get("preventivecare")); List<Map<String, String>> child5=new ArrayList<Map<String,String>>(); child5.add(child5_1); childs.add(child5); ExpandableListView exp=(ExpandableListView)this.findViewById(R.id.dis_decription_explistview); /*SimpleExpandableListAdapter adapter = new SimpleExpandableListAdapter( this, groups, R.layout.groups, new String[] { "group" }, new int[] { R.id.group }, childs, R.layout.childs, new String[] { "child" }, new int[] { R.id.child }); setListAdapter(adapter); */ DiseaseDescriptionAdapter adapter=new DiseaseDescriptionAdapter(this, grouplist, childs); exp.addHeaderView(disInfoHead); Button yytj=(Button)disInfofoot.findViewById(R.id.dis_description_yytj); yytj.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //Toast.makeText(DiseaseDecription.this, "������ҩ�Ƽ�����", 1).show(); Intent listIntent = new Intent().setClass(DiseaseDecription.this, DrugList.class); Bundle bundle = new Bundle(); bundle.putString("disease_id", diseaseid);// ������Ҫ���ݵ�ֵ bundle.putString("disease_name", diseasename); bundle.putString("from", "disease"); // bundle.putString("type_name", ) listIntent.putExtras(bundle); startActivityForResult(listIntent, 0); } }); exp.addFooterView(disInfofoot); exp.setAdapter(adapter); diseaseInfo=null; grouplist=null; childs=null; } /** * �첽����ҩ����Ϣ */ private class AsyncLoad extends AsyncTask<String, Void, Integer> { private List<Map<String, String>> dislist = null; @Override protected void onPreExecute() { // TODO Auto-generated method stub async_begin.setVisibility(View.VISIBLE); dis_decription_explistview.setVisibility(View.GONE); } @Override protected Integer doInBackground(String... params) { // TODO Auto-generated method stub try { if (diseaseid !=null && !(diseaseid.equals(""))) { dislist = Disease.getInfo(diseaseid); if (dislist != null) { return (dislist.size() > 0) ? 0 : 1; } else { return 2;// �������Ӵ��� } } else { return 1; } } catch (Exception e) { // TODO Auto-generated catch block return 2; } } @Override protected void onPostExecute(Integer result) { // TODO Auto-generated method stub if (result == 0)// { initdata(dislist.get(0)); dis_decription_explistview.setVisibility(View.VISIBLE); 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); async_error_txt.setText("û���ҵ���ǰ��������Ϣ��"); Button async_error_reflesh = (Button) async_error .findViewById(R.id.async_error_reflesh); async_error_reflesh.setVisibility(View.GONE); async_error.setVisibility(View.VISIBLE); } else if (result == 2) { async_begin.setVisibility(View.GONE); async_error.setVisibility(View.VISIBLE); TextView async_error_txt = (TextView) async_error .findViewById(R.id.async_error_txt); async_error_txt.setText(R.string.error_nonetwork); Button async_error_reflesh = (Button) async_error .findViewById(R.id.async_error_reflesh); 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 AsyncLoad().execute(); } }); } } } /*",DIS_Info.DiseaseName as DiseaseName" + //�������� ",DIS_Info.Part as Part" + //��λ ",DIS_Info.Pathogeny as Pathogeny" + //���� ",DIS_Info.Symptoms as Symptoms" + //֢״���� ",DIS_Info.Descr as Descr" + //���� ",DIS_Info.PreventiveCare as PreventiveCare" + //Ԥ������ ",DIS_Info.DiseaseAlias as DiseaseAlias" + //�������� ",DIS_Info.DiffDiag as DiffDiag" + //��ϼ��� ",DIS_Info.Treat as Treat "; //���� */ /** * ҩƷ����Key���������� */ /* public static Map<String,String> diseaseinfo = new HashMap<String, String>() { { put("symptoms","֢״����"); put("diffdiag","��ϼ���"); put("pathogeny","����"); put("treat","����"); put("preventivecare","Ԥ������"); } }; */ }