package com.ccxt.whl.gushi; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import me.maxwin.view.XListView; import me.maxwin.view.XListView.IXListViewListener; import org.apache.http.Header; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.LinearLayout; import android.widget.Toast; import com.ccxt.whl.Constant; import com.ccxt.whl.DemoApplication; import com.ccxt.whl.R; import com.ccxt.whl.activity.BaseActivity; import com.ccxt.whl.domain.MyBean; import com.ccxt.whl.utils.CommonUtils; import com.ccxt.whl.utils.DeviceUuidFactory; import com.ccxt.whl.utils.HttpRestClient; import com.ccxt.whl.utils.JsonToMapList; import com.ccxt.whl.utils.MyLogger; import com.loopj.android.http.BaseJsonHttpResponseHandler; import com.loopj.android.http.RequestParams; /** * 个人故事页 * @author Administrator * */ @SuppressLint("NewApi") public class User_gushi_Activity extends BaseActivity implements IXListViewListener { private XListView mListView; //private ArrayAdapter<User> mAdapter; private UserMyListAdapter mAdapter; private static List<MyBean> zainaList;//在哪故事数据集合 public static final int FRIST_GET_DATE = 111; public static final int REFRESH_GET_DATE = 112; public static final int LOADMORE_GET_DATE = 113; //public static final int LOADMORE_GET_SEX = 114; private static int page = 0; private String userId = null;//要请求的用户唯一id //发布 private LinearLayout publish; private static MyLogger Log = MyLogger.yLog(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gushi); userId = getIntent().getStringExtra("userId"); zainaList = new ArrayList<MyBean>();//实例化在哪数据 publish = (LinearLayout)findViewById(R.id.fabu_w_gushi); mListView = (XListView)findViewById(R.id.user_gushi_xListView); mListView.setPullLoadEnable(true); loaddata(); mAdapter = new UserMyListAdapter(this, zainaList); mListView.setAdapter(mAdapter); // mListView.setPullLoadEnable(false); // mListView.setPullRefreshEnable(false); mListView.setXListViewListener(this); /* mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub //Intent intent = new Intent(getActivity(), Userinfo.class); //intent.putExtra("userId", mAdapter.getItem(arg2).getName()); startActivity(new Intent(getActivity(), Userinfo.class).putExtra("userId", mAdapter.getItem(arg2-1).getUser())); } });*/ publish.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //TODO publish Intent intent = new Intent(User_gushi_Activity.this, PublishActivity.class); //intent.putExtra("ID", arg2); startActivity(intent); } }); } /** * 第一次加载数据 */ private void loaddata() { mListView.setPullLoadEnable(false); mListView.setPullRefreshEnable(false); geneItems(REFRESH_GET_DATE); } @Override public void onRefresh() { mListView.setPullLoadEnable(false); mListView.setPullRefreshEnable(false); geneItems(REFRESH_GET_DATE); } @SuppressLint("SimpleDateFormat") private void onLoad() { // TODO Auto-generated method stub mListView.stopRefresh(); mListView.stopLoadMore(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis());//获取当前时间 String str = formatter.format(curDate); mListView.setRefreshTime(str); mListView.setPullLoadEnable(true); mListView.setPullRefreshEnable(true); } @Override public void onLoadMore() { mListView.setPullLoadEnable(false); mListView.setPullRefreshEnable(false); geneItems(LOADMORE_GET_DATE); } private void geneItems(final int ACTION) { RequestParams params = new RequestParams(); params.add("f_user", DemoApplication.getInstance().getUser()); params.add("q_user", userId); DeviceUuidFactory uuid = new DeviceUuidFactory(this); String uid = uuid.getDeviceUuid().toString(); params.add("uid", uid);//新增设备请求 if(ACTION==REFRESH_GET_DATE){//刷新数据 params.add("page", "0"); }else if(ACTION==LOADMORE_GET_DATE){//加载更多 params.add("page", ""+page); } HttpRestClient.get(Constant.GUSHI_USER, params, new BaseJsonHttpResponseHandler(){ @Override public void onSuccess(int statusCode, Header[] headers, String rawJsonResponse, Object response) { //pd.dismiss(); // TODO Auto-generated method stub Log.d(rawJsonResponse); if(CommonUtils.isNullOrEmpty(rawJsonResponse)){ Toast.makeText(User_gushi_Activity.this, "您的网络不稳定,请检查网络!", 0).show(); return; } Map<String, Object> lm = JsonToMapList.getMap(rawJsonResponse); if(lm.get("status").toString() != null && lm.get("status").toString().equals("yes")){ //Toast.makeText(getActivity(), "更新成功", 0).show(); //Log.d("log","message=="+lm.get("message").toString()); if(!CommonUtils.isNullOrEmpty(lm.get("result").toString())){ Log.d("reslut不为空"); List<Map<String, Object>> lmresarr = JsonToMapList.getList(lm.get("result").toString()); /*********************/ if(ACTION==REFRESH_GET_DATE||ACTION==FRIST_GET_DATE){ zainaList.clear(); } /*********************/ for(int i=0;i<lmresarr.size();i++){ MyBean user = new MyBean(); Log.d(lmresarr.get(i).get("id").toString()); Log.d(lmresarr.get(i).get("headurl").toString()); Log.d(lmresarr.get(i).get("name").toString()); Log.d(lmresarr.get(i).get("content").toString()); Log.d(lmresarr.get(i).get("pic").toString()); Log.d(lmresarr.get(i).get("umd5").toString()); Log.d(lmresarr.get(i).get("zan").toString()); String strings[] = JsonToMapList.getArr(lmresarr.get(i).get("pic").toString()); user.setId(lmresarr.get(i).get("id").toString()); user.setAvator(lmresarr.get(i).get("headurl").toString()); user.setName(lmresarr.get(i).get("name").toString()); user.setContent(lmresarr.get(i).get("content").toString()); user.setUrls(strings); user.setUser(lmresarr.get(i).get("umd5").toString()); user.setTime(lmresarr.get(i).get("time").toString()); user.setZan(lmresarr.get(i).get("zan").toString()); zainaList.add(user); } if(ACTION==FRIST_GET_DATE){//第一次加载 }else if(ACTION==REFRESH_GET_DATE){//刷新数据 mAdapter = new UserMyListAdapter(User_gushi_Activity.this, zainaList); mListView.setAdapter(mAdapter); onLoad(); page = 1; }else if(ACTION==LOADMORE_GET_DATE){//加载更多 mAdapter.notifyDataSetChanged(); onLoad(); page++; } }else{ Log.d("reslut为空"); if(ACTION==FRIST_GET_DATE){//第一次加载 }else if(ACTION==REFRESH_GET_DATE){//刷新数据 Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); onLoad(); }else if(ACTION==LOADMORE_GET_DATE){//加载更多 Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); onLoad(); } } }else{ Log.d("reslut为空"); if(ACTION==FRIST_GET_DATE){//第一次加载 Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); onLoad(); }else if(ACTION==REFRESH_GET_DATE){//刷新数据 Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); onLoad(); }else if(ACTION==LOADMORE_GET_DATE){//加载更多 Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); onLoad(); } } } @Override public void onFailure(int statusCode, Header[] headers, Throwable throwable, String rawJsonData, Object errorResponse) { // TODO Auto-generated method stub Toast.makeText(User_gushi_Activity.this, "请求失败,请检查网络!", 0).show(); onLoad(); return; } @Override protected Object parseResponse(String rawJsonData, boolean isFailure) throws Throwable { // TODO Auto-generated method stub return null; } }); } public void del_gushi(final int position){ //System.out.println("=========================="+position); new AlertDialog.Builder(this) .setTitle("要删除该故事吗?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //设置你的操作事项 RequestParams params = new RequestParams(); params.add("f_user", DemoApplication.getInstance().getUser()); DeviceUuidFactory uuid = new DeviceUuidFactory(getParent()); String uid = uuid.getDeviceUuid().toString(); params.add("uid", uid);//新增设备请求 params.add("gu_id", zainaList.get(position).getId());//新增设备请求 HttpRestClient.get(Constant.GUSHI_DEL, params, new BaseJsonHttpResponseHandler(){ @Override public void onSuccess(int statusCode, Header[] headers, String rawJsonResponse, Object response) { // TODO Auto-generated method stub Log.d(rawJsonResponse); if(CommonUtils.isNullOrEmpty(rawJsonResponse)){ Toast.makeText(User_gushi_Activity.this, "您的网络不稳定,请检查网络!", 0).show(); return; } Map<String, Object> lm = JsonToMapList.getMap(rawJsonResponse); if(lm.get("status").toString() != null && lm.get("status").toString().equals("yes")){ zainaList.remove(position); mAdapter.notifyDataSetChanged(); } Toast.makeText(User_gushi_Activity.this, lm.get("message").toString(), 0).show(); } @Override public void onFailure(int statusCode, Header[] headers, Throwable throwable, String rawJsonData, Object errorResponse) { // TODO Auto-generated method stub Toast.makeText(User_gushi_Activity.this, "您的网络不稳定,请检查网络!", 0).show(); return; } @Override protected Object parseResponse(String rawJsonData, boolean isFailure) throws Throwable { // TODO Auto-generated method stub return null; } }); } }) .setNegativeButton("取消", null) .show(); } }