package com.fanxin.app.fx; import java.util.HashMap; import java.util.Map; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.fanxin.app.Constant; import com.fanxin.app.MYApplication; import com.fanxin.app.R; import com.fanxin.app.activity.BaseActivity; import com.fanxin.app.db.ACache; import com.fanxin.app.fx.others.LoadDataFromServer; import com.fanxin.app.fx.others.LoadDataFromServer.DataCallBack; public class RecordsActivity extends BaseActivity { private JSONArray datas; private MyAdapter adapter; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wallet_records); initView(); } private void initView() { listView = (ListView) this.findViewById(R.id.listView); datas = ACache.get(getApplicationContext()).getAsJSONArray( Constant.C_RECORDS); if (datas == null) { getData(true); } else { adapter = new MyAdapter(RecordsActivity.this, datas); listView.setAdapter(adapter); getData(false); } listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { JSONObject json = adapter.getItem(position); Intent intent = new Intent(); intent.putExtra("json", json.toJSONString()); intent.setClass(RecordsActivity.this, RecordsDetailActivity.class); startActivity(intent); } }); // iv_more.setOnClickListener(this); } private void getData(final boolean needDialog) { final ProgressDialog dialog = new ProgressDialog(RecordsActivity.this); if (needDialog) { dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); dialog.setMessage("正在加载..."); } Map<String, String> map = new HashMap<String, String>(); map.put("hxid", MYApplication.getInstance().getUserName()); LoadDataFromServer task = new LoadDataFromServer(RecordsActivity.this, Constant.URL_RECORDS, map); task.getData(new DataCallBack() { @Override public void onDataCallBack(JSONObject data) { if (needDialog && dialog.isShowing()) { dialog.dismiss(); } if (data == null) { Toast.makeText(getApplicationContext(), "访问服务器错误,更新失敗...", Toast.LENGTH_SHORT).show(); return; } int code = data.getInteger("code"); if (code == 1) { datas = data.getJSONArray("data"); adapter = new MyAdapter(RecordsActivity.this, datas); listView.setAdapter(adapter); ACache.get(getApplicationContext()).put(Constant.C_RECORDS, datas); } else { Toast.makeText(getApplicationContext(), "更新失敗...", Toast.LENGTH_SHORT).show(); } } }); } class MyAdapter extends BaseAdapter { private Context context; private JSONArray jsonArray; private LayoutInflater inflater; public MyAdapter(Context context_, JSONArray jsonArray) { this.context = context_; this.jsonArray = jsonArray; inflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return jsonArray.size(); } @Override public JSONObject getItem(int position) { // TODO Auto-generated method stub return jsonArray.getJSONObject(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = inflater.inflate(R.layout.item_records, parent, false); } ViewHolder holder = (ViewHolder) convertView.getTag(); if (holder == null) { holder = new ViewHolder(); holder.tv_content = (TextView) convertView .findViewById(R.id.tv_content); holder.tv_type = (TextView) convertView .findViewById(R.id.tv_type); holder.tv_money = (TextView) convertView .findViewById(R.id.tv_money); holder.tv_time = (TextView) convertView .findViewById(R.id.tv_time); convertView.setTag(holder); } JSONObject json = getItem(position); // String fHxid = json.getString("fHxid"); String tHxid = json.getString("tHxid"); String money = json.getString("money"); String time = json.getString("time"); String type = json.getString("type"); String state = json.getString("state"); if (type.equals("1")) { holder.tv_type.setText("提现"); if (state.equals("1")) { holder.tv_content.setText("提现正在处理"); } else { holder.tv_content.setText("提现成功"); } } else if (type.equals("2")) { holder.tv_type.setText("充值"); holder.tv_content.setText("充值成功"); } else { holder.tv_type.setText("微信转账"); if (tHxid.equals(MYApplication.getInstance().getUserName())) { holder.tv_content.setText("已存入零钱"); } else { holder.tv_content.setText("朋友已收钱"); } } holder.tv_time.setText(time.substring(2)); holder.tv_money.setText("¥" + money); return convertView; } } static class ViewHolder { TextView tv_type; TextView tv_money; TextView tv_content; TextView tv_time; } }