/**============================================================ * 版权: 久其软件 版权所有 (c) * 包: com.jiuqi.njt.ui * 修改记录: * 日期 作者 内容 * ============================================================= * 2013-7-30 liyue * ============================================================*/ package com.jiuqi.njt.ui; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean; import com.jiuqi.mobile.nigo.comeclose.manager.base.IDataDictionaryManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.model.NxwLinkVo; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; /** * <p> * 维修保养页面 * </p> // * * <p> * Copyright: 版权所有 (c)<br> * Company: 久其 * </p> * * @author liyue * @version 2013-7-30 */ public class NxwRepairLinksListViewActivity extends Activity { private ListView listView; private LinksListViewAdapter adapter; private QueryInfoCategoryAsyncTask queryInfoCategoryAsyncTask = null; private DataDictionaryBean[] MACHINE_INFO_TYPE_DictionaryBeans; private MyApp application; private Drawable DEFAULT_ICO; private View loadlayout; /** * 农机大类id */ public static final int MACHINE_MAINTYPE_MARK = AbstractNjtActivity01.MACHINE_TYPE_MARK; // 莫迪的类里面给出的mark值 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); initListener(); initUI(); } private void initParam() { application = (MyApp) getApplication(); DEFAULT_ICO = getResources().getDrawable(R.drawable.icon_link_default); } private void initWidgets() { setContentView(R.layout.nxw_repair_layout_template_listview); String title; title = "维修保养"; View rlTitleBar = findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, title, Constants.BTN_BACK_TEXT, new OnClickListener() { @Override public void onClick(View v) { NxwRepairLinksListViewActivity.this.finish(); } // }, Constants.MAINPAGE_TITLE_TEXT, new OnClickListener() { // // @Override // public void onClick(View v) { // Intent intent = new Intent(); // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // intent.setClass(NxwRepairLinksListViewActivity.this, NjtMainActivity.class); // startActivity(intent); // NxwRepairLinksListViewActivity.this.finish(); // } }); listView = (ListView) findViewById(R.id.listView); loadlayout = findViewById(R.id.load_Layout); } protected void onQueryComplete(HashMap<Integer, DataDictionaryBean[]> result) { DataDictionaryBean[] beans = result.get(MACHINE_MAINTYPE_MARK); if (null != beans) { ArrayList<NxwLinkVo> links = new ArrayList<NxwLinkVo>(); NxwLinkVo link = null; links.add(addAllType()); for (DataDictionaryBean b : beans) { link = new NxwLinkVo(); link.setName(b.getName()); link.setIco(DEFAULT_ICO); link.setUrl(String.valueOf(b.getCode())); links.add(link); } adapter = new LinksListViewAdapter(this, links); listView.setAdapter(adapter); } } private NxwLinkVo addAllType(){ NxwLinkVo vo = new NxwLinkVo(); vo.setIco(DEFAULT_ICO); vo.setName("全部"); vo.setUrl("all");//在NxwNewslistActivity页面中需要做特殊处理 return vo; } /** * 查询信息类别和作物种类字段 */ protected class QueryInfoCategoryAsyncTask extends AsyncTask<Void, Void, HashMap<Integer, DataDictionaryBean[]>> { // Dialog pd = null; @Override protected void onPreExecute() { // Log.d(Constants.TAG, "NxwLinksListViewActivity onPreExecute()"); // pd = ProgressDialogStyle // .createLoadingDialog(NxwRepairLinksListViewActivity.this,null); // pd.show(); // .show(PostInfoMachinesActivity.this, "参数获取中,请等待", "just a min"); } @Override protected HashMap<Integer, DataDictionaryBean[]> doInBackground( Void... params) { // Log.d(Constants.TAG, // "NxwLinksListViewActivity doInBackground()"); HashMap<Integer, DataDictionaryBean[]> hm = new HashMap<Integer, DataDictionaryBean[]>(); try { ClientContext context = application.getClientContext(); if(!application.getIsLogin()){ context =null; } if (null == context) { context = ClientContext.getClientContext( Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IDataDictionaryManager manager = context .getManager(IDataDictionaryManager.class); MACHINE_INFO_TYPE_DictionaryBeans = manager .get(MACHINE_MAINTYPE_MARK); hm.put(MACHINE_MAINTYPE_MARK, MACHINE_INFO_TYPE_DictionaryBeans); } catch (Exception e) { e.printStackTrace(); } return hm; } @Override protected void onCancelled() { super.onCancelled(); } @Override protected void onPostExecute( HashMap<Integer, DataDictionaryBean[]> result) { // Log.d(Constants.TAG, "NxwLinksListViewActivity onPostExecute()"); UIUtil.hideView(loadlayout); UIUtil.showView(listView); onQueryComplete(result); } } private class LinksListViewAdapter extends BaseAdapter { private Context context; private ArrayList<NxwLinkVo> items = new ArrayList<NxwLinkVo>(); private LayoutInflater inflater; public LinksListViewAdapter(Context context, ArrayList<NxwLinkVo> items) { this.context = context; if (null != items) { this.items = items; } inflater = LayoutInflater.from(context); } @Override public int getCount() { return items.size(); } @Override public Object getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (null == convertView) { holder = new ViewHolder(); convertView = inflater.inflate(R.layout.listview_item_link, null); ImageView ivIco = (ImageView) convertView .findViewById(R.id.ivIco); holder.setIco(ivIco); TextView tvTitle = (TextView) convertView .findViewById(R.id.weatherTvTitle); holder.setTvTitle(tvTitle); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } final NxwLinkVo vo = items.get(position); holder.getIco().setImageDrawable(vo.getIco()); holder.getTvTitle().setText(vo.getName()); convertView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(context, NxwNewsListActivity.class); intent.putExtra(Constants.PARAM_TITLE, vo.getName()); intent.putExtra("repairType", vo.getUrl()); intent.putExtra(Constants.PARAM_NEWSTYPE, 9); // intent.putExtra(Constants.PARAM_BTNLEFT_TITLE, // Constants.BTN_BACK_TEXT); startActivity(intent); } }); return convertView; } } class ViewHolder { private TextView tvTitle; private ImageView ico; public TextView getTvTitle() { return tvTitle; } public void setTvTitle(TextView tvTitle) { this.tvTitle = tvTitle; } public ImageView getIco() { return ico; } public void setIco(ImageView ico) { this.ico = ico; } } private void initListener() { } private void initUI() { queryInfoCategoryAsyncTask = new QueryInfoCategoryAsyncTask(); queryInfoCategoryAsyncTask.execute(); } }