我自己寫的一個 Demo? 小白學(xué)習(xí)
1.導(dǎo)入 xUtils 依賴? ??
implementation'org.xutils:xutils:3.3.36'
2.記得在MyApplication 的?onCreate()方法里初始化庶近。要不然會 請求不到的晨逝。 還要在 AndroidManifest.xml? 中指定 name
下面寫 Fragment? 的使用?
private ArrayListmFragment;//存儲 Fragment
private ArrayListmList;//? 存儲 TabLayout 文字
1.在Oncreate方法里 實例化
mFragment =new ArrayList<>();
mList =new ArrayList<>();
2.添加 tablayout? 頭文字
mList.add("全部訂單");
mList.add("消費記錄");
mList.add("充值記錄");
mList.add("好友轉(zhuǎn)入");
mList.add("好友轉(zhuǎn)出");
mList.add("提現(xiàn)記錄");
3.遍歷 mList? ?創(chuàng)建 Fragment? ?利用? Bundle 傳遞你要的參數(shù)
for (int i =0; i<mList.size;i++){
MsgFragment msgFragment =new MsgFragment();
String string =mList.get(i).toString();
if (string.equals("全部訂單")){
Bundle bundle =new Bundle();
bundle.putString("tage","");
msgFragment.setArguments(bundle);
}
if (string.equals("消費記錄")){
Bundle bundle =new Bundle();
bundle.putString("tage","5");
msgFragment.setArguments(bundle);
}
if (string.equals("充值記錄")){
Bundle bundle =new Bundle();
bundle.putString("tage","3");
msgFragment.setArguments(bundle);
}
if (string.equals("好友轉(zhuǎn)入")){
Bundle bundle =new Bundle();
bundle.putString("tage","8");
msgFragment.setArguments(bundle);
}
if (string.equals("好友轉(zhuǎn)出")){
Bundle bundle =new Bundle();
bundle.putString("tage","6");
msgFragment.setArguments(bundle);
}
if (string.equals("提現(xiàn)記錄")){
Bundle bundle =new Bundle();
bundle.putString("tage","9");
msgFragment.setArguments(bundle);
}
mFragment.add(msgFragment);
}
//下面的是 TabLayout +ViewPager? 適配器
ViewPagerAdapter viewPagerAdapter =new ViewPagerAdapter(getSupportFragmentManager(),mFragment,mList);
view_pager.setAdapter(viewPagerAdapter);
在往下我們要到 Fragment 去接收我們的參數(shù)纽匙。
Bundle arguments = getArguments();
String tage = arguments.getString("tage");
下一步我們做網(wǎng)絡(luò)請求:
定義一個方法去 做請求
postPost(tage);? tage 就是我們傳過來的標識
private void postPost(String tage) {
mList.clear();// 每次請求都清空 集合
RequestParams params =new RequestParams(ApiUtils.URL+ApiUtils.ORDER);// 這個是請求的地址
params.addBodyParameter("page","");// 這個是需要傳到后臺的參數(shù)
params.addBodyParameter("ordertype",tage);// 這個是需要傳到后臺的參數(shù)
params.addBodyParameter("pagesize","");// 這個是需要傳到后臺的參數(shù)
// 下面這個是token 不需要的 可以不寫
params.addHeader("accesstoken",SpUtils.getString(getContext(),"token",""));
x.http().request(HttpMethod.POST, params,new Callback.CacheCallback() {
private RecyAdapterrecyAdapter;
@Override// 這里是請求成功的回調(diào)
? ? ? ? public void onSuccess(String result) {
Log.e("result",result.toString());
try {
JSONObject jsonObject =new JSONObject(result.toString());
if (jsonObject.optString("code").equals("1")){
Gson gson =new Gson();
Benas benas = gson.fromJson(result, Benas.class);
List data = benas.getData();
mList.addAll(data);
recyAdapter =new RecyAdapter(R.layout.item_order,mList);
recyclerViewADAP.setAdapter(recyAdapter);
}
}catch (JSONException e) {
e.printStackTrace();
}
}
@Override
? ? ? ? public void onError(Throwable ex,boolean isOnCallback) {
}
@Override
? ? ? ? public void onCancelled(CancelledException cex) {
}
@Override
? ? ? ? public void onFinished() {
}
@Override
? ? ? ? public boolean onCache(String result) {
return false;
}
});
}
結(jié)束!? Fragment 簡單復(fù)用。請勿吐槽议蟆。我也是剛學(xué)些 最后附上 請求回來的截圖