package com.jiuqi.njt.son; import java.util.ArrayList; import com.jiuqi.mobile.nigo.comeclose.bean.base.KindsOfSupplyAndDemandBean; import com.jiuqi.mobile.nigo.comeclose.exception.LoginException; import com.jiuqi.mobile.nigo.comeclose.manager.base.IKindsOfSupplyAndDemandManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.adapter.TreeViewAdapterNew; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.model.UserTreeElement; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.widget.ProgressDialogStyle; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; import android.app.Activity; import android.app.Dialog; import android.content.Intent; public class GxlbActivity extends Activity { private ListView gxlb_listView; /* * 实现获取农资供应商供销类别获取 */ private MyApp application; // /显示的数量 private ArrayList<UserTreeElement> showUserCount = new ArrayList<UserTreeElement>(); // /总的节点数 private ArrayList<UserTreeElement> allUserlist = new ArrayList<UserTreeElement>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gxlb); inItUi(); inItData(); } private void inItUi() { // TODO Auto-generated method stub gxlb_listView = (ListView) findViewById(R.id.gxlb_listView); ViewStub rlTitleBar = (ViewStub)findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "供销类别", Constants.BTN_BACK_TEXT, new OnClickListener(){ @Override public void onClick(View v){ finish(); } }, "确定", new OnClickListener(){ @Override public void onClick(View v){ String result =""; ArrayList<UserTreeElement> elementsList = getAllCheckData(); for (UserTreeElement userTreeElement : elementsList) { result += userTreeElement.getOutlineTitle()+","; Log.e("选中的内容", userTreeElement.getOutlineTitle()); } Intent in = new Intent(); // in.setClass(getApplicationContext(), PerfectSupplierInformation.class); in.putExtra("type", result); setResult(RESULT_OK, in); finish(); } }); } private void inItData() { application = (MyApp) getApplicationContext(); new GetGxlbTask().execute(); } class GetGxlbTask extends AsyncTask<Void, Void, String> { Dialog pd = null; @Override protected void onPreExecute() { // TODO Auto-generated method stub pd = ProgressDialogStyle.createLoadingDialog(GxlbActivity.this, null); pd.show(); super.onPreExecute(); } @Override protected String doInBackground(Void... params) { // TODO Auto-generated method stub ClientContext context = application.getClientContext(); try { if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IKindsOfSupplyAndDemandManager dManager = context .getManager(IKindsOfSupplyAndDemandManager.class); getGxlbData(dManager, 0); return null; } catch (LoginException e) { // TODO Auto-generated catch block if (null != pd) { pd.dismiss(); } e.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub if (null != pd) { pd.dismiss(); } TreeViewAdapterNew treeViewAdapter = new TreeViewAdapterNew( GxlbActivity.this, showUserCount, allUserlist); gxlb_listView.setAdapter(treeViewAdapter); gxlb_listView.setItemsCanFocus(false); gxlb_listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); gxlb_listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } }); super.onPostExecute(result); } }; private void getGxlbData(IKindsOfSupplyAndDemandManager dManager, long code) { // 初始化数据 showUserCount.clear(); allUserlist.clear(); if (dManager.getChildren(code) != null) { KindsOfSupplyAndDemandBean[] aa = dManager.getChildren(code); for (KindsOfSupplyAndDemandBean firstBean : aa) { UserTreeElement parentElement = new UserTreeElement( firstBean.getGuid(), firstBean.getName(), false, true, "00", 0, false, "", "", false); showUserCount.add(parentElement); KindsOfSupplyAndDemandBean[] secendList = dManager .getChildren(firstBean.getCode()); for (KindsOfSupplyAndDemandBean secendBean : secendList) { UserTreeElement treeElements = new UserTreeElement( secendBean.getGuid(), secendBean.getName(), true, true, firstBean.getGuid(), 1, false, "", "", false); allUserlist.add(treeElements); KindsOfSupplyAndDemandBean[] thirdList = dManager .getChildren(secendBean.getCode()); for (KindsOfSupplyAndDemandBean thirdBean : thirdList) { UserTreeElement userEle = new UserTreeElement( thirdBean.getGuid(), thirdBean.getName(), true, false, secendBean.getGuid(), 2, false, "", "", false); allUserlist.add(userEle); } } } } } private ArrayList<UserTreeElement> getAllCheckData() { ArrayList<UserTreeElement> Checklines = new ArrayList<UserTreeElement>(); if (null != allUserlist) { for (UserTreeElement pdfOutlineElement : allUserlist) { if (pdfOutlineElement.isChecked() && !pdfOutlineElement.isMhasChild()) { Checklines.add(pdfOutlineElement); } } } return Checklines; } }