添加了上拉加载下拉刷新

This commit is contained in:
linglongxin24
2016-05-24 14:39:50 +08:00
parent 8bf98c660a
commit 832f82efb7
10 changed files with 284 additions and 225 deletions

Binary file not shown.

View File

@@ -70,7 +70,7 @@ public abstract class BaseActivity extends AutoLayoutActivity implements View.On
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppManager.getAppManager().addActivity(this);
setImmersionStatus();
// setImmersionStatus();
setupViews();
context = this;
initTitleBar();
@@ -372,216 +372,216 @@ public abstract class BaseActivity extends AutoLayoutActivity implements View.On
protected void startActivity(Class c) {
startActivity(new Intent(context, c));
}
/**
* 异步网络请求类
*
* @param requestParams
*/
protected void ajax(RequestParams requestParams) {
if (!CheckNetwork.isNetworkAvailable(context)) {
showToast("网络不可用,请检查网络连接!");
return;
}
if (loadingDialog == null) {
loadingDialog = new LoadingDialog(context);
}
if (requestParams != null) {
String uri = requestParams.getUri();
if (!uri.isEmpty()) {
String[] split = uri.split("/");
// Logger.d("split=" + Arrays.toString(split));
String method = null;
try {
method = split[split.length - 1].substring(0, split[split.length - 1].indexOf("."));
} catch (Exception e) {
e.printStackTrace();
Logger.d("请检查服务器地址后面是否含有.html");
}
String mode = split[split.length - 2];
String sign = MD5.md5(mode + method);
requestParams.addBodyParameter("sign", sign);
}
}
Logger.d("url=" + requestParams.getUri() + "\nrequestParams=" + requestParams.getStringParams().toString());
List<KeyValue> params = requestParams.getStringParams();
for (KeyValue keyValue : params) {
if (keyValue.key.contains(":")) {
throw new RuntimeException("参数异常!");
}
}
// jsonBean = JSON.parseObject(result, JsonBean.class);
cancelable = x.http().post(requestParams, new Callback.ProgressCallback<String>() {
@Override
public void onWaiting() {
}
@Override
public void onStarted() {
netOnStart();
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
netOnLoading(total, current, isDownloading);
}
@Override
public void onSuccess(String result) {
Logger.json(result);
JsonBean jsonBean = null;
try {
// jsonBean = JSON.parseObject(result, JsonBean.class);
jsonBean = jsonParse(result);
if (jsonBean.getMsg() != null && !jsonBean.getMsg().isEmpty()) {
showToast(jsonBean.getMsg());
}
if (jsonBean.getCode() == 200) {
Map<String, Object> data = new ArrayMap<String, Object>();
if (null != jsonBean.getData() && jsonBean.getData().size() > 0) {
data = jsonBean.getData();
}
netOnSuccess(data);
} else {
netOnOtherStates(jsonBean.getCode(), jsonBean.getMsg());
}
} catch (Exception e) {
if (loadingDialog != null && loadingDialog.isShowing()) {
loadingDialog.dismiss();
}
Logger.d(result);
showToast("服务器异常!");
e.printStackTrace();
} finally {
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
netOnFailure(ex);
}
@Override
public void onCancelled(CancelledException cex) {
Logger.d("用户取消了访问网络....");
netOnCancelled();
}
@Override
public void onFinished() {
netOnFinish();
}
});
}
private JsonBean jsonParse(String json) throws JSONException {
ArrayMap<String,Object> arrayMap= JSON.parseObject(json,new TypeReference<ArrayMap<String,Object>>(){
}.getType());
JsonBean jsonBean = new JsonBean();
if (arrayMap.containsKey("data")) {
Object data = arrayMap.get("data");
System.out.println("data.getClass().getName()=" + data.getClass().getName());
ArrayMap<String,Object> rrData = null;
if (data instanceof String) {
System.out.println("data instanceof String");
rrData = new ArrayMap<String,Object>();
rrData.put("data", data.toString());
} else if (data instanceof JSONArray) {
System.out.println("data instanceof JSONArray");
rrData = new ArrayMap<String,Object>();
rrData.put("data", data);
} else if (data instanceof com.alibaba.fastjson.JSONObject) {
System.out.println("data instanceof JSONObject");
rrData = JSON.parseObject(data.toString(),new TypeReference<ArrayMap<String,Object>>(){
}.getType());
}
jsonBean.setData(rrData);
}
jsonBean.setCode(Integer.valueOf(arrayMap.get("code").toString()));
jsonBean.setMsg(Tools.getValue(arrayMap, "msg"));
return jsonBean;
}
/**
* 开始访问网络
*/
public void netOnStart() {
loadingDialog.show("正在获取数据...");
}
/**
* 访问网络的进程
*/
public void netOnLoading(long total, long current, boolean isUploading) {
}
/**
* 访问网络成功
*/
public void netOnSuccess(Map<String, Object> data) {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
/**
* 访问网络成功的其他状态
*/
public void netOnOtherStates(int code, String msg) {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
/**
* 访问网络结束
*/
public void netOnFinish() {
loadingDialog.dismiss();
}
/**
* 访问网络失败
*/
public void netOnFailure(Throwable ex) {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
Logger.d(ex.getMessage());
if (ex instanceof HttpException) { // 网络错误
HttpException httpEx = (HttpException) ex;
int responseCode = httpEx.getCode();
String responseMsg = httpEx.getMessage();
String errorResult = httpEx.getResult();
Toast.makeText(x.app(), "网络错误:" + ex.getMessage(), Toast.LENGTH_LONG).show();
// ...
} else { // 其他错误
Toast.makeText(context, "连接服务器失败请稍后再试ex=" + ex.getMessage(), Toast.LENGTH_SHORT).show();
// ...
}
}
/**
* 取消访问网络
*/
public void netOnCancelled() {
if (loadingDialog != null) {
loadingDialog.dismiss();
}
}
//
// /**
// * 异步网络请求类
// *
// * @param requestParams
// */
// protected void ajax(RequestParams requestParams) {
// if (!CheckNetwork.isNetworkAvailable(context)) {
// showToast("网络不可用,请检查网络连接!");
// return;
// }
// if (loadingDialog == null) {
// loadingDialog = new LoadingDialog(context);
// }
// if (requestParams != null) {
// String uri = requestParams.getUri();
// if (!uri.isEmpty()) {
// String[] split = uri.split("/");
//// Logger.d("split=" + Arrays.toString(split));
//
// String method = null;
// try {
// method = split[split.length - 1].substring(0, split[split.length - 1].indexOf("."));
// } catch (Exception e) {
// e.printStackTrace();
// Logger.d("请检查服务器地址后面是否含有.html");
// }
// String mode = split[split.length - 2];
// String sign = MD5.md5(mode + method);
// requestParams.addBodyParameter("sign", sign);
// }
//
// }
// Logger.d("url=" + requestParams.getUri() + "\nrequestParams=" + requestParams.getStringParams().toString());
// List<KeyValue> params = requestParams.getStringParams();
// for (KeyValue keyValue : params) {
// if (keyValue.key.contains(":")) {
// throw new RuntimeException("参数异常!");
// }
// }
// // jsonBean = JSON.parseObject(result, JsonBean.class);
// cancelable = x.http().post(requestParams, new Callback.ProgressCallback<String>() {
//
// @Override
// public void onWaiting() {
// }
//
// @Override
//
// public void onStarted() {
// netOnStart();
// }
//
// @Override
// public void onLoading(long total, long current, boolean isDownloading) {
// netOnLoading(total, current, isDownloading);
// }
//
// @Override
// public void onSuccess(String result) {
//
// Logger.json(result);
// JsonBean jsonBean = null;
// try {
//// jsonBean = JSON.parseObject(result, JsonBean.class);
// jsonBean = jsonParse(result);
// if (jsonBean.getMsg() != null && !jsonBean.getMsg().isEmpty()) {
// showToast(jsonBean.getMsg());
// }
// if (jsonBean.getCode() == 200) {
// Map<String, Object> data = new ArrayMap<String, Object>();
// if (null != jsonBean.getData() && jsonBean.getData().size() > 0) {
// data = jsonBean.getData();
// }
// netOnSuccess(data);
// } else {
//
// netOnOtherStates(jsonBean.getCode(), jsonBean.getMsg());
// }
// } catch (Exception e) {
// if (loadingDialog != null && loadingDialog.isShowing()) {
// loadingDialog.dismiss();
// }
// Logger.d(result);
// showToast("服务器异常!");
// e.printStackTrace();
// } finally {
// }
// }
//
// @Override
// public void onError(Throwable ex, boolean isOnCallback) {
// netOnFailure(ex);
//
// }
//
// @Override
// public void onCancelled(CancelledException cex) {
// Logger.d("用户取消了访问网络....");
// netOnCancelled();
// }
//
// @Override
// public void onFinished() {
// netOnFinish();
// }
//
// });
// }
//
//
// private JsonBean jsonParse(String json) throws JSONException {
// ArrayMap<String,Object> arrayMap= JSON.parseObject(json,new TypeReference<ArrayMap<String,Object>>(){
// }.getType());
// JsonBean jsonBean = new JsonBean();
// if (arrayMap.containsKey("data")) {
// Object data = arrayMap.get("data");
// System.out.println("data.getClass().getName()=" + data.getClass().getName());
// ArrayMap<String,Object> rrData = null;
// if (data instanceof String) {
// System.out.println("data instanceof String");
// rrData = new ArrayMap<String,Object>();
// rrData.put("data", data.toString());
// } else if (data instanceof JSONArray) {
// System.out.println("data instanceof JSONArray");
// rrData = new ArrayMap<String,Object>();
// rrData.put("data", data);
// } else if (data instanceof com.alibaba.fastjson.JSONObject) {
// System.out.println("data instanceof JSONObject");
// rrData = JSON.parseObject(data.toString(),new TypeReference<ArrayMap<String,Object>>(){
// }.getType());
// }
// jsonBean.setData(rrData);
// }
// jsonBean.setCode(Integer.valueOf(arrayMap.get("code").toString()));
// jsonBean.setMsg(Tools.getValue(arrayMap, "msg"));
//
// return jsonBean;
// }
//
//
// /**
// * 开始访问网络
// */
// public void netOnStart() {
// loadingDialog.show("正在获取数据...");
// }
//
// /**
// * 访问网络的进程
// */
// public void netOnLoading(long total, long current, boolean isUploading) {
// }
//
// /**
// * 访问网络成功
// */
// public void netOnSuccess(Map<String, Object> data) {
// if (loadingDialog != null) {
// loadingDialog.dismiss();
// }
// }
//
// /**
// * 访问网络成功的其他状态
// */
// public void netOnOtherStates(int code, String msg) {
// if (loadingDialog != null) {
// loadingDialog.dismiss();
// }
// }
//
// /**
// * 访问网络结束
// */
// public void netOnFinish() {
// loadingDialog.dismiss();
// }
//
// /**
// * 访问网络失败
// */
// public void netOnFailure(Throwable ex) {
// if (loadingDialog != null) {
// loadingDialog.dismiss();
// }
// Logger.d(ex.getMessage());
// if (ex instanceof HttpException) { // 网络错误
// HttpException httpEx = (HttpException) ex;
// int responseCode = httpEx.getCode();
// String responseMsg = httpEx.getMessage();
// String errorResult = httpEx.getResult();
// Toast.makeText(x.app(), "网络错误:" + ex.getMessage(), Toast.LENGTH_LONG).show();
// // ...
// } else { // 其他错误
// Toast.makeText(context, "连接服务器失败请稍后再试ex=" + ex.getMessage(), Toast.LENGTH_SHORT).show();
// // ...
// }
//
//
// }
//
// /**
// * 取消访问网络
// */
// public void netOnCancelled() {
// if (loadingDialog != null) {
// loadingDialog.dismiss();
// }
// }
@Override
public void onBackPressed() {

View File

@@ -1,9 +1,12 @@
package com.kejiang.yuandl.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.util.ArrayMap;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
@@ -39,6 +42,12 @@ import java.util.Map;
* 描述主要干什么
*/
public class BaseFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return super.onCreateView(inflater, container, savedInstanceState);
}
private Callback.Cancelable cancelable;
/**
* 加载数据对话框

View File

@@ -3,9 +3,8 @@
style="@style/immersion_status"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#af895b"
android:background="#FFFFFF"
android:id="@+id/llRoot"
android:fitsSystemWindows="true"
android:orientation="vertical">
<!-- Title -->

View File

@@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_titlebar"
android:orientation="horizontal"
style="@style/immersion_status"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="152px"