/**============================================================
* 版权: 久其软件 版权所有 (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();
}
}