package com.parttime.mine; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.TextView; import com.carson.constant.ConstantForSaveList; import com.google.gson.Gson; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import com.parttime.base.IntentManager; import com.parttime.base.WithTitleActivity; import com.parttime.net.BaseRequest; import com.parttime.net.Callback; import com.parttime.pojo.IntroItem; import com.parttime.widget.FormItem; import com.qingmu.jianzhidaren.R; import com.quark.common.Url; import com.quark.ui.widget.CustomDialog; import com.quark.volley.VolleySington; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by cjz on 2015/7/14. */ public class FreshManGuideActivity extends WithTitleActivity { @ViewInject(R.id.lv_helps) private ListView lv; // @ViewInject(R.id.btn_contact_service) // private Button btnHelp; private CustomDialog dlg; private IntroAdapter adapter; private List<IntroItem> introItems = new ArrayList<>(); private View.OnClickListener onItemClick = new View.OnClickListener() { @Override public void onClick(View view) { IntroItem item = (IntroItem) view.getTag(); if(item != null){ IntentManager.intentToWebBrowser(FreshManGuideActivity.this, item.url); } } }; @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_fresh_man_guide); ViewUtils.inject(this); super.onCreate(savedInstanceState); loadData(); } /*@OnClick(R.id.btn_contact_service) public void contactCustmService(View v){ dlg = createDialog(getString(R.string.friendly_tips), "确认拨号", getString(R.string.contact_customer_service), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dlg.dismiss(); Intent intent = new Intent( Intent.ACTION_CALL, Uri.parse("tel:" + ConstantForSaveList.CARSON_CALL_NUMBER)); FreshManGuideActivity.this.startActivity(intent); } }, getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if(dialog != null && dlg.isShowing()){ dlg.dismiss(); } } }); dlg.show(); }*/ protected void loadData(){ showWait(true); Map<String, String> params = new HashMap<>(); new BaseRequest().request(Url.COMPANY_INTRO_LIST, params, VolleySington.getInstance().getRequestQueue(), new Callback() { @Override public void success(Object obj) throws JSONException { JSONObject json = (JSONObject) obj; JSONArray introList = json.getJSONArray("introList"); if(introList != null && introList.length() > 0){ Gson gson = new Gson(); List<IntroItem> iis = new ArrayList<IntroItem>(); for(int i = 0 ; i < introList.length(); ++i){ String s = introList.get(i).toString(); IntroItem introItem = gson.fromJson(s, IntroItem.class); iis.add(introItem); } introItems.clear(); introItems.addAll(iis); adapter.notifyDataSetChanged(); showWait(false); } } @Override public void failed(Object obj) { showWait(false); } }); } @Override protected void initViews() { super.initViews(); left(TextView.class, R.string.back); center(R.string.fresh_man_guide); adapter = new IntroAdapter(this, introItems); adapter.setActAsOnItemClick(onItemClick); lv.setDivider(null); lv.setAdapter(adapter); } @Override protected ViewGroup getLeftWrapper() { return null; } @Override protected ViewGroup getRightWrapper() { return null; } @Override protected TextView getCenter() { return null; } private class IntroAdapter extends BaseAdapter{ private View.OnClickListener actAsOnItemClick; private Context context; private List<IntroItem> datas; private LayoutInflater inflater; private IntroAdapter(Context context, List<IntroItem> datas) { this.context = context; this.datas = datas; inflater = LayoutInflater.from(context); } public void setActAsOnItemClick(View.OnClickListener onClick){ actAsOnItemClick = onClick; } @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return datas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { FormItem item; if(convertView == null){ item = new FormItem(context); item.setOnClickListener(actAsOnItemClick); item.hideTopDivider(); item.hideBottomDivider(); item.setMinimumHeight(context.getResources().getDimensionPixelSize(R.dimen.form_item_height)); item.setBackgroundResource(R.drawable.item_selector); item.hideIcon(); item.showBottomDivider(); convertView = item; }else { item = (FormItem) convertView; } IntroItem introItem = (IntroItem) getItem(position); item.setTag(introItem); item.setTitle(introItem.title); return convertView; } } }