Procházet zdrojové kódy

添加信用卡注册与邀请好友提成页面

zengjiebin před 8 roky
rodič
revize
811b2239e4
26 změnil soubory, kde provedl 705 přidání a 24 odebrání
  1. 1 0
      app/src/main/AndroidManifest.xml
  2. 37 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtCreditCardTaskList.java
  3. 87 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtFriendExtractPage.java
  4. 5 0
      app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java
  5. 75 0
      app/src/main/java/com/kfzs/duanduan/fragment/PagerAdapter.java
  6. 2 2
      app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java
  7. 9 0
      app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java
  8. 98 0
      app/src/main/java/com/sheep/gamegroup/model/entity/CreditCard.java
  9. 9 0
      app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java
  10. 13 0
      app/src/main/java/com/sheep/gamegroup/util/Jump2View.java
  11. 142 0
      app/src/main/java/com/sheep/gamegroup/view/activity/ActCreditCardWeb.java
  12. 45 20
      app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java
  13. 87 0
      app/src/main/java/com/sheep/gamegroup/view/adapter/FriendExtractAdp.java
  14. binární
      app/src/main/res/drawable-xhdpi/x_ic_link.png
  15. binární
      app/src/main/res/drawable-xhdpi/x_ic_qq.png
  16. binární
      app/src/main/res/drawable-xhdpi/x_ic_qr.png
  17. binární
      app/src/main/res/drawable-xhdpi/x_ic_wx.png
  18. 7 0
      app/src/main/res/drawable/shape_page.xml
  19. 9 0
      app/src/main/res/layout/list_view.xml
  20. 45 0
      app/src/main/res/layout/x_ask_getmoney_act_layout.xml
  21. 31 0
      app/src/main/res/layout/x_ask_getmoney_act_layout_item.xml
  22. binární
      app/src/main/res/mipmap-xxhdpi/x_ic_link.png
  23. binární
      app/src/main/res/mipmap-xxhdpi/x_ic_qq.png
  24. binární
      app/src/main/res/mipmap-xxhdpi/x_ic_qr.png
  25. binární
      app/src/main/res/mipmap-xxhdpi/x_ic_wx.png
  26. 3 2
      app/src/main/res/values/gamegroup_string.xml

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -386,6 +386,7 @@
         <activity android:name="com.sheep.gamegroup.view.activity.ActNewbieTaskList"  android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActUnderstandSheep"  android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActCreditCardTaskList" android:screenOrientation="portrait" />
+        <activity android:name="com.sheep.gamegroup.view.activity.ActCreditCardWeb" android:screenOrientation="portrait"/>
         <!--友盟start-->
 
 

+ 37 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtCreditCardTaskList.java

@@ -1,23 +1,32 @@
 package com.kfzs.duanduan.fragment;
 
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.AdapterView;
 import android.widget.ListView;
 
 import com.alibaba.fastjson.JSON;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.TaskReleaseEty;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.view.adapter.CreditCardTaskAdp;
 import com.sheep.gamegroup.view.customview.RefreshLayout;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import okhttp3.Call;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 
@@ -43,6 +52,12 @@ public class FgtCreditCardTaskList extends BaseFragment {
         swipe_container.setFooterView(getActivity(), credit_card_task_list, R.layout.listview_footer);
         adapter = new CreditCardTaskAdp(getActivity(), list);
         credit_card_task_list.setAdapter(adapter);
+        credit_card_task_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
+                onItemClickTask(list.get(i));
+            }
+        });
         swipe_container.setOnRefreshListener(new RefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
@@ -52,6 +67,28 @@ public class FgtCreditCardTaskList extends BaseFragment {
         initData();
     }
 
+    private void onItemClickTask(TaskReleaseEty taskReleaseEty) {
+        SheepApp.getInstance().getNetComponent().getApiService().getCredit(taskReleaseEty.getTask().getExt())
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                final CreditCard creditCard = baseMessage.getData(CreditCard.class);
+                                Jump2View.getInstance().goCreditCardWeb(getActivity(), creditCard);
+                                if(BuildConfig.DEBUG)
+                                    System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                if(BuildConfig.DEBUG)
+                                    System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                                G.showToast(TextUtils.isEmpty(baseMessage.getMsg()) ? "服务器错误,请稍候再试" : baseMessage.getMsg());
+                            }
+                        });
+    }
+
     private void initData() {
         list.clear();
         SheepApp.getInstance().getNetComponent().getApiService().getReleaseTaskCreditCard()

+ 87 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtFriendExtractPage.java

@@ -0,0 +1,87 @@
+package com.kfzs.duanduan.fragment;
+
+import android.app.Activity;
+import android.app.Fragment;
+import android.text.TextUtils;
+import android.widget.ListView;
+
+import com.alibaba.fastjson.JSON;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.Friend;
+import com.sheep.gamegroup.model.entity.TaskReleaseEty;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.view.activity.AskGetMoneyAct;
+import com.sheep.gamegroup.view.adapter.CreditCardTaskAdp;
+import com.sheep.gamegroup.view.adapter.FriendExtractAdp;
+import com.sheep.gamegroup.view.customview.RefreshLayout;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Created by realicing on 2018/4/25.
+ * realicing@sina.com
+ */
+public class FgtFriendExtractPage extends BaseFragment {
+    @BindView(R.id.list_view)
+    ListView list_view;
+    @Override
+    public int getLayoutId() {
+        return R.layout.list_view;
+    }
+
+    private List<Friend> list = new ArrayList<>();
+    private FriendExtractAdp adapter;
+    @Override
+    public void onViewCreated() {
+        ButterKnife.bind(this, mView);
+        adapter = new FriendExtractAdp(getActivity(), list);
+        list_view.setAdapter(adapter);
+        initData();
+    }
+
+
+    private int per_page = 5;
+    private int page = 1;
+    private void initData(){
+        SheepApp.getInstance().getNetComponent().getApiService().getUserFriendList(page, per_page)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        Activity activity = getActivity();
+                        if(activity instanceof AskGetMoneyAct){
+                            ((AskGetMoneyAct) activity).setFriendExtractCount(baseMessage.getTotal());
+                        }
+                        List<Friend> friendList = baseMessage.getDatas(Friend.class);
+                        list.addAll(friendList);
+                        adapter.notifyDataSetChanged();
+                        if(BuildConfig.DEBUG)
+                            System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if(BuildConfig.DEBUG)
+                            System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
+                        G.showToast(TextUtils.isEmpty(baseMessage.getMsg()) ? "服务器错误,请稍候再试" : baseMessage.getMsg());
+                    }
+                });
+    }
+    public static FgtFriendExtractPage newInstance(int page) {
+        FgtFriendExtractPage friendExtractPage = new FgtFriendExtractPage();
+        friendExtractPage.page = page;
+        return friendExtractPage;
+    }
+}

+ 5 - 0
app/src/main/java/com/kfzs/duanduan/fragment/FgtSmallSheep.java

@@ -466,6 +466,11 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
         String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
         return date;
     }
+    public static String TimeStamp2Date(long  timestampString, String formats) {
+        Long timestamp = timestampString * 1000;
+        String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
+        return date;
+    }
 
 
     @Subscribe

+ 75 - 0
app/src/main/java/com/kfzs/duanduan/fragment/PagerAdapter.java

@@ -0,0 +1,75 @@
+package com.kfzs.duanduan.fragment;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
+import android.util.SparseArray;
+import android.view.ViewGroup;
+
+import com.orhanobut.logger.Logger;
+
+
+/**
+ * Created by realicing on 2018/4/25.
+ * realicing@sina.com
+ */
+public class PagerAdapter extends FragmentPagerAdapter {
+    private static final String TAG = "PagerAdapter";
+
+    SparseArray<FgtFriendExtractPage> mTestFragments;
+
+
+    public PagerAdapter(FragmentManager fm, SparseArray<FgtFriendExtractPage> testFragments) {
+        super(fm);
+        this.mTestFragments = testFragments;
+    }
+
+    @Override
+    public Fragment getItem(int position) {
+        Logger.d(TAG, "getItem: "+position);
+        FgtFriendExtractPage testFragment=mTestFragments.valueAt(position);
+        return testFragment;
+    }
+
+    @Override
+    public int getCount() {
+        return mTestFragments.size();
+    }
+
+    /**
+     * 返回每一个item所有对应的key,在instantiateItem中 会根据这个item去查找是否已经存在这个item
+     * 如果不存在则调用getItem创建
+     * 存在则在FragmentManager中去find
+     * 详情查看instantiateItem源码
+     * @param position
+     * @return
+     */
+    @Override
+    public long getItemId(int position) {
+        Logger.d(TAG, "position: "+position+"  getItemId:"+mTestFragments.keyAt(position));
+        return mTestFragments.keyAt(position);
+    }
+
+    @Override
+    public Object instantiateItem(ViewGroup container, int position) {
+        Logger.d(TAG, "instantiateItem: "+position);
+        return super.instantiateItem(container, position);
+    }
+
+    @Override
+    public void destroyItem(ViewGroup container, int position, Object object) {
+        super.destroyItem(container, position, object);
+    }
+
+    @Override
+    public int getItemPosition(Object object) {
+        return POSITION_NONE;
+
+
+    }
+
+    @Override
+    public void setPrimaryItem(ViewGroup container, int position, Object object) {
+        super.setPrimaryItem(container, position, object);
+    }
+}

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -258,6 +258,6 @@ public interface ApiService {
     Observable<BaseMessage> getUserFriendList(@Query("page") int page, @Query("per_page") int per_page);
     @GET("app/release_task/credit_card")
     Observable<BaseMessage> getReleaseTaskCreditCard();
-    @GET("app/credit")
-    Observable<BaseMessage> getCredit();
+    @GET("app/credit/{id}")
+    Observable<BaseMessage> getCredit(@Path("id") int id);
 }

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java

@@ -15,6 +15,7 @@ public class BaseMessage implements Serializable{
     private String msg;
     private Integer code = 0;
     private Object data;
+    private int total;
     private Object object;
 
     public Object getData() {
@@ -52,6 +53,14 @@ public class BaseMessage implements Serializable{
         this.object = object;
     }
 
+    public void setTotal(int total) {
+        this.total = total;
+    }
+
+    public int getTotal() {
+        return total;
+    }
+
     /**
      * 失败返回null
      *

+ 98 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/CreditCard.java

@@ -0,0 +1,98 @@
+package com.sheep.gamegroup.model.entity;
+
+import java.io.Serializable;
+
+/**
+ * Created by realicing on 2018/4/25.
+ * realicing@sina.com
+ */
+public class CreditCard implements Serializable{
+    private String icon;
+
+    private int status;
+
+    private int id;
+
+    private int rank;
+
+    private String cardName;
+
+    private String scriptUrl;
+
+    private String name;
+
+    private String created_at;
+
+    private String imgUrl;
+
+    private String loadUrl;
+
+    private String update_at;
+
+    public void setIcon(String icon){
+        this.icon = icon;
+    }
+    public String getIcon(){
+        return this.icon;
+    }
+    public void setStatus(int status){
+        this.status = status;
+    }
+    public int getStatus(){
+        return this.status;
+    }
+    public void setId(int id){
+        this.id = id;
+    }
+    public int getId(){
+        return this.id;
+    }
+    public void setRank(int rank){
+        this.rank = rank;
+    }
+    public int getRank(){
+        return this.rank;
+    }
+    public void setCardName(String cardName){
+        this.cardName = cardName;
+    }
+    public String getCardName(){
+        return this.cardName;
+    }
+    public void setScriptUrl(String scriptUrl){
+        this.scriptUrl = scriptUrl;
+    }
+    public String getScriptUrl(){
+        return this.scriptUrl;
+    }
+    public void setName(String name){
+        this.name = name;
+    }
+    public String getName(){
+        return this.name;
+    }
+    public void setCreated_at(String created_at){
+        this.created_at = created_at;
+    }
+    public String getCreated_at(){
+        return this.created_at;
+    }
+    public void setImgUrl(String imgUrl){
+        this.imgUrl = imgUrl;
+    }
+    public String getImgUrl(){
+        return this.imgUrl;
+    }
+    public void setLoadUrl(String loadUrl){
+        this.loadUrl = loadUrl;
+    }
+    public String getLoadUrl(){
+        return this.loadUrl;
+    }
+    public void setUpdate_at(String update_at){
+        this.update_at = update_at;
+    }
+    public String getUpdate_at(){
+        return this.update_at;
+    }
+}

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/TaskEty.java

@@ -25,6 +25,7 @@ public class TaskEty implements Serializable{
     private int acceptedTaskId;//接受任务id
     private String bonus;// 0,
     private String desc;// 任务详情介绍
+    private int ext;// 对应的信用卡配置的id
 
     public int getAcceptedTaskId() {
         return acceptedTaskId;
@@ -181,4 +182,12 @@ public class TaskEty implements Serializable{
     public void setUpdate_time(String update_time) {
         this.update_time = update_time;
     }
+
+    public int getExt() {
+        return ext;
+    }
+
+    public void setExt(int ext) {
+        this.ext = ext;
+    }
 }

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -8,6 +8,7 @@ import android.text.TextUtils;
 import com.kfzs.duanduan.ActMain;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
@@ -16,6 +17,7 @@ import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.WXOnHookAccount;
 import com.sheep.gamegroup.view.activity.AccountAndSecurityAct;
 import com.sheep.gamegroup.view.activity.ActCreditCardTaskList;
+import com.sheep.gamegroup.view.activity.ActCreditCardWeb;
 import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
 import com.sheep.gamegroup.view.activity.ActGuideOnHook;
 import com.sheep.gamegroup.view.activity.ActMingShengWeb;
@@ -453,4 +455,15 @@ public class Jump2View {
         Intent intent = new Intent(context, ActCreditCardTaskList.class);
         context.startActivity(intent);
     }
+
+    /**
+     * 跳到银行web页面
+     * @param context
+     * @param creditCard
+     */
+    public void goCreditCardWeb(Context context, CreditCard creditCard){
+        Intent intent = new Intent(context, ActCreditCardWeb.class);
+        intent.putExtra(CreditCard.class.getSimpleName(), creditCard);
+        context.startActivity(intent);
+    }
 }

+ 142 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActCreditCardWeb.java

@@ -0,0 +1,142 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.os.Build;
+import android.os.Bundle;
+import android.view.View;
+import android.webkit.WebChromeClient;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.TextView;
+
+import com.kfzs.android.view.widget.SafeWebView;
+import com.kfzs.duanduan.BaseCompatActivity;
+import com.kfzs.duanduan.bean.KFIntentKeys;
+import com.orhanobut.logger.Logger;
+import com.sheep.gamegroup.model.entity.CreditCard;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
+import com.zhy.http.okhttp.OkHttpUtils;
+import com.zhy.http.okhttp.callback.StringCallback;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import okhttp3.Call;
+
+import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
+
+/**
+ * 信用卡申请web
+ * Created by zengjiebin on 2018/4/25.
+ */
+public class ActCreditCardWeb extends BaseCompatActivity {
+
+    @BindView(R.id.webview)
+    SafeWebView mWebView;
+    @BindView(R.id.tv_next)
+    TextView tv_next;
+
+    private CreditCard creditCard;
+    private WebSettings webViewSettings;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_guide_on_hook);
+
+        creditCard = (CreditCard) getIntent().getSerializableExtra(CreditCard.class.getSimpleName());
+
+        ButterKnife.bind(this);
+        TitleBarUtils
+                .getInstance()
+                .setTitle(this, creditCard.getName()+"-申请流程")
+                .setTitleFinish(this);
+
+        webViewSettings = mWebView.getSettings();
+        webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+            webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
+        }
+        mWebView.autoSettingWebViewDefaultByWideViewPort(this, false);
+        if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
+            findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
+        }
+        tv_next.setVisibility(View.GONE);
+        initJsData();
+    }
+
+    private void initJsData() {
+        OkHttpUtils.get()
+                .url(creditCard.getScriptUrl())
+                .build()
+                .execute(new StringCallback() {
+                    @Override
+                    public void onError(Call call, Exception e, int id) {
+                        G.showToast( "服务器配置错误,请联系客服");
+                    }
+
+                    @Override
+                    public void onResponse(String response, int id) {
+                        js = response;
+                        loadUrl();
+                    }
+                });
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mWebView.setVisibility(View.GONE);
+        mWebView.removeAllViews();
+        mWebView.destroy();
+    }
+
+    private void loadUrl() {
+        mWebView.setWebChromeClient(new WebChromeClient(){
+            @Override
+            public void onReceivedTitle(WebView view, String title) {
+                super.onReceivedTitle(view, title);
+                TitleBarUtils
+                        .getInstance()
+                        .setTitle(ActCreditCardWeb.this, title);
+            }
+        });
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView view, String url) {
+                try {
+                    view.loadUrl(url);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return true;
+            }
+            @Override
+            public void onPageFinished(WebView view, String url) {
+                super.onPageFinished(view, url);
+                loadJs();
+//                loadTestJs();
+            }
+        });
+        webViewSettings.setJavaScriptEnabled(true);
+        mWebView.loadUrl(creditCard.getLoadUrl());
+    }
+
+    @Override
+    public void onBackPressed() {
+        if(mWebView.canGoBack()){
+            mWebView.goBack();
+            return;
+        }
+        this.finish();
+    }
+    // 注入js函数监听
+    public void loadJs() {
+        mWebView.loadUrl("javascript:"+getJs());
+    }
+    private String js;
+    private String getJs(){
+        return js;
+    }
+}

+ 45 - 20
app/src/main/java/com/sheep/gamegroup/view/activity/AskGetMoneyAct.java

@@ -1,13 +1,18 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.app.AlertDialog;
+import android.app.Fragment;
+import android.support.v4.view.ViewPager;
 import android.text.TextUtils;
+import android.util.SparseArray;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.alibaba.fastjson.JSON;
+import com.kfzs.duanduan.fragment.FgtFriendExtractPage;
+import com.kfzs.duanduan.fragment.PagerAdapter;
 import com.sheep.gamegroup.absBase.BaseUMActivity;
 import com.sheep.gamegroup.di.components.DaggerAskGetMoneyComponent;
 import com.sheep.gamegroup.di.modules.AskGetMoneyModule;
@@ -21,6 +26,7 @@ import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
 import com.umeng.socialize.ShareAction;
@@ -61,6 +67,12 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
     RelativeLayout rlQr;
     @BindView(R.id.rl_link)
     RelativeLayout rlLink;
+    @BindView(R.id.friend_extract_vp)
+    ViewPager friend_extract_vp;
+    @BindView(R.id.friend_extract_count_tv)
+    TextView friend_extract_count_tv;
+    @BindView(R.id.friend_extract_page_tv)
+    TextView friend_extract_page_tv;
 
     private FriendAndAwardEntity mEntity;
 
@@ -78,7 +90,7 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
                 .netComponent(SheepApp.get(this).getNetComponent())
                 .build()
                 .inject(this);
-        test();
+        initFriendExtractList();
     }
 
     @Override
@@ -209,24 +221,37 @@ public class AskGetMoneyAct extends BaseUMActivity implements UMShareListener, A
                 break;
         }
     }
-    private void test(){
-        SheepApp.getInstance().getNetComponent().getApiService().getUserFriendList(1, 5)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(AskGetMoneyAct.this) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        List<Friend> friendList = baseMessage.getDatas(Friend.class);
-                        if(BuildConfig.DEBUG)
-                            System.out.println("baseMessage onNext "+JSON.toJSONString(baseMessage));
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        if(BuildConfig.DEBUG)
-                            System.out.println("baseMessage onError "+JSON.toJSONString(baseMessage));
-                        G.showToast(TextUtils.isEmpty(baseMessage.getMsg()) ? "服务器错误,请稍候再试" : baseMessage.getMsg());
-                    }
-                });
+    private SparseArray<FgtFriendExtractPage> mTestFragments;
+    public void setFriendExtractCount(int count){
+        friend_extract_count_tv.setText(getString(R.string.friend_extract_count, count));
+    }
+    private PagerAdapter mPagerAdapter;
+    private void initFriendExtractList(){
+        mTestFragments = new SparseArray<>();
+        mTestFragments.put(1, FgtFriendExtractPage.newInstance(1));
+        mPagerAdapter = new PagerAdapter(getSupportFragmentManager(), mTestFragments);
+        friend_extract_vp.setAdapter(mPagerAdapter);
+        friend_extract_vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(int i, float v, int i1) {
+
+            }
+
+            @Override
+            public void onPageSelected(int i) {
+
+            }
+
+            @Override
+            public void onPageScrollStateChanged(int i) {
+
+            }
+        });
+//
+//                mTestFragments.put(key++,TestFragment.newInstance("第"+key));
+//                mPagerAdapter.notifyDataSetChanged();
+//        ViewPager friend_extract_vp;
+//        TextView friend_extract_count_tv;
+//        TextView friend_extract_page_tv;
     }
 }

+ 87 - 0
app/src/main/java/com/sheep/gamegroup/view/adapter/FriendExtractAdp.java

@@ -0,0 +1,87 @@
+package com.sheep.gamegroup.view.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.TextView;
+
+import com.kfzs.duanduan.fragment.FgtSmallSheep;
+import com.sheep.gamegroup.model.entity.Friend;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by ljy on 2018/3/21.
+ */
+
+public class FriendExtractAdp extends BaseAdapter {
+    private Context context;
+    private List<Friend> etyList;
+
+    public FriendExtractAdp(Context context, List<Friend> etyList) {
+        this.context = context;
+        this.etyList = etyList;
+    }
+
+    @Override
+    public int getCount() {
+        return etyList.size();
+    }
+
+    @Override
+    public Object getItem(int position) {
+        return etyList.get(position);
+    }
+
+    @Override
+    public long getItemId(int position) {
+        return 0;
+    }
+    @Override
+    public View getView(final int position, View convertView, ViewGroup parent) {
+        Object tag = convertView == null ? null : convertView.getTag();
+        ViewHolder holder;
+        if(tag instanceof ViewHolder){
+            holder = (ViewHolder) tag;
+        }else {
+            holder = new ViewHolder();
+            convertView = LayoutInflater.from(context).inflate(R.layout.x_ask_getmoney_act_layout_item, null);
+            if(convertView instanceof ViewGroup)
+                holder.viewGroup = (ViewGroup)convertView;
+            convertView.setTag(holder);
+        }
+
+        final Friend ety = (Friend) getItem(position);
+        for (int i = 0; i < holder.viewGroup.getChildCount(); i++) {
+            View item = holder.viewGroup.getChildAt(i);
+            if(item instanceof  TextView)
+                setText(i, (TextView) item, ety);
+        }
+        return convertView;
+    }
+
+    private void setText(int index, TextView item, Friend ety) {
+        switch (index){
+            case 0:
+                item.setText(ety.getInvitation_code());
+                break;
+            case 1:
+                item.setText(ety.getNickname());
+                break;
+            case 2:
+                item.setText(""+ety.getAward_amount());
+                break;
+            case 3:
+                item.setText(FgtSmallSheep.TimeStamp2Date(ety.getCreate_time(), "yyyy/MM/dd HH:mm"));
+                break;
+        }
+    }
+
+    class ViewHolder{
+        ViewGroup viewGroup;
+    }
+
+}

binární
app/src/main/res/drawable-xhdpi/x_ic_link.png


binární
app/src/main/res/drawable-xhdpi/x_ic_qq.png


binární
app/src/main/res/drawable-xhdpi/x_ic_qr.png


binární
app/src/main/res/drawable-xhdpi/x_ic_wx.png


+ 7 - 0
app/src/main/res/drawable/shape_page.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <corners android:radius="5dp" />
+    <stroke android:color="#BFBFBF"
+        android:width="1dp"/>
+</shape>

+ 9 - 0
app/src/main/res/layout/list_view.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.kfzs.duanduan.view.diag.MyListview xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/list_view"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:listSelector="@color/transparent"
+    android:divider="@null"
+    android:layout_margin="@dimen/content_padding_13"
+    android:scrollbars="none"/>

+ 45 - 0
app/src/main/res/layout/x_ask_getmoney_act_layout.xml

@@ -282,6 +282,51 @@
     </LinearLayout>
 
 
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/x_shap_shadow_bg_rectgangle_white"
+        android:layout_marginTop="@dimen/content_padding_10"
+        android:layout_marginStart="@dimen/content_padding_10"
+        android:layout_marginEnd="@dimen/content_padding_10"
+        android:paddingTop="@dimen/content_padding_10"
+        android:paddingBottom="@dimen/content_padding_10"
+        android:orientation="vertical">
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/content_padding"
+            android:layout_marginBottom="@dimen/content_padding_10"
+            android:text="已邀请好友列表"/>
+        <include layout="@layout/x_ask_getmoney_act_layout_item"/>
+        <com.kfzs.duanduan.view.ViewPagerAutoHeigh
+            android:id="@+id/friend_extract_vp"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"/>
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/content_padding_10"
+            android:gravity="center"
+            android:orientation="horizontal">
+            <TextView
+                android:id="@+id/friend_extract_count_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="共0条"/>
+            <TextView
+                android:id="@+id/friend_extract_page_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/content_padding_20"
+                android:background="@drawable/shape_page"
+                android:paddingStart="@dimen/content_padding_10"
+                android:paddingEnd="@dimen/content_padding_10"
+                android:paddingTop="@dimen/content_padding_3"
+                android:paddingBottom="@dimen/content_padding_3"
+                android:text="1"/>
+        </LinearLayout>
+    </LinearLayout>
 
 
     <LinearLayout

+ 31 - 0
app/src/main/res/layout/x_ask_getmoney_act_layout_item.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal">
+    <TextView
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:text="绵羊ID"/>
+    <TextView
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:text="好友昵称"/>
+    <TextView
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:text="获得奖励金"/>
+    <TextView
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="center"
+        android:text="注册时间"/>
+
+</LinearLayout>

binární
app/src/main/res/mipmap-xxhdpi/x_ic_link.png


binární
app/src/main/res/mipmap-xxhdpi/x_ic_qq.png


binární
app/src/main/res/mipmap-xxhdpi/x_ic_qr.png


binární
app/src/main/res/mipmap-xxhdpi/x_ic_wx.png


+ 3 - 2
app/src/main/res/values/gamegroup_string.xml

@@ -9,8 +9,8 @@
     <string name="share_qr_code_content">扫描或识别二维码均可</string>
     <string name="share_link_content">万能分享,哪都能用</string>
 
-    <string name="reward">奖励</string>
-    <string name="friend">好友</string>
+    <string name="reward">已获得提成奖励</string>
+    <string name="friend">已邀请好友</string>
 
     <string name="friend_to_task">好友做任务</string>
     <string name="my_getreward">我拿奖励</string>
@@ -26,4 +26,5 @@
     <string name="my_qr">我的二维码</string>
 
     <string name="tip_newbie_task_1">我知道了(%1$4d秒)</string>
+    <string name="friend_extract_count">共%1d条</string>
 </resources>