Fragment获取Activity值的时候拿不到

在Fragment中加上它

 @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        this.activity = (ShopGradeActivity) activity;

    }
package com.mine.project.function.home;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.mine.project.R;
import com.mine.project.common.utils.JAnalyticsUtil;
import com.mine.project.divider.MyDividerItemDecoration;
import com.mine.project.flowlibrary.FlowTagLayout;
import com.mine.project.flowlibrary.OnTagSelectListener;
import com.mine.project.function.activity.ShopGradeActivity;
import com.mine.project.function.activity.UserComplainActivity;
import com.mine.project.function.adapter.PadComplainAdapter;
import com.mine.project.function.adapter.PadGradeAdpter;
import com.mine.project.function.adapter.TagAdapter;
import com.mine.project.function.domain.CommentInfo;
import com.mine.project.function.domain.ComplainInfo;
import com.mine.project.function.domain.PageInfo;
import com.mine.project.home.ui.BaseFragment;
import com.mine.project.network.control.NetWorkListener;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import cn.bingoogolapple.refreshlayout.BGANormalRefreshViewHolder;
import cn.bingoogolapple.refreshlayout.BGARefreshLayout;
import cn.bingoogolapple.refreshlayout.BGARefreshViewHolder;


/**
 * A simple {@link Fragment} subclass.
 */
public class TabLayoutFragment extends BaseFragment implements BGARefreshLayout.BGARefreshLayoutDelegate {

    public static String TABLAYOUT_FRAGMENT = "tab_fragment";
    private int type;
    private LinearLayout mLlShapgrade;
    private RecyclerView mRv;
    private FlowTagLayout mGradeFlowTagLayout;
    private CheckBox mChCommentShopgrade;
    private TagAdapter<String> mGradeTagAdapter;
    private int star1;
    private int star2;
    private int star3;
    private int star4;
    private int star5;

    private int index_0;
    private int index_1;
    private int index_2;
    private int index_3;
    private int index_4;

    private String mStartStatus;
    private int curPage, curPage1;
    private int totalPages, totalPages1;


    private boolean mIsChecked = true;
    private PadComplainAdapter mPadComplainAdapter;
    private BGARefreshLayout mRefreshLayout1;
    private ArrayList<CommentInfo> mArrayList = new ArrayList();
    private ArrayList<ComplainInfo> mComplainInfoArrayList = new ArrayList<>();
    private PadGradeAdpter mPadGradeAdpter;
    private int count1 = new ShopGradeActivity().getCount();
    private ShopGradeActivity activity;


    public static TabLayoutFragment newInstance(int type) {
        TabLayoutFragment fragment = new TabLayoutFragment();
        Bundle bundle = new Bundle();
        bundle.putSerializable(TABLAYOUT_FRAGMENT, type);
        fragment.setArguments(bundle);

        return fragment;
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        this.activity = (ShopGradeActivity) activity;

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.e("1", "run:--------->count111: " + count1);
        if (getArguments() != null) {
            type = (int) getArguments().getSerializable(TABLAYOUT_FRAGMENT);
        }

    }


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_tab_layout, container, false);
        initView(view);
        initData();
        initSizeData();
        return view;
    }

    private void initData() {
        mChCommentShopgrade.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                if (isChecked) {
                    PadGrade(mStartStatus + "", isChecked);
                    Toast.makeText(getActivity(), "只看有内容评论", Toast.LENGTH_SHORT).show();
                    mIsChecked = isChecked;
                    mRefreshLayout1.endRefreshing();
                    Map<String, String> map = new HashMap<String, String>();
                    map.put("value", "有内容评论");
                    JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);

                } else {
                    PadGrade(mStartStatus + "", isChecked);
//                    Toast.makeText(getActivity(), "查看全部评论", Toast.LENGTH_SHORT).show();
                    mIsChecked = isChecked;
                    mRefreshLayout1.endRefreshing();
                }
            }
        });


    }

    protected void initView(View view) {
        mChCommentShopgrade = (CheckBox) view.findViewById(R.id.ch_comment_shopgrade);
        mGradeFlowTagLayout = (FlowTagLayout) view.findViewById(R.id.size_flow_layout);
        mRv = (RecyclerView) view.findViewById(R.id.rv);
//        mLvShopgrade = (ListView)view.findViewById(R.id.lv_shopgrade);
        mLlShapgrade = (LinearLayout) view.findViewById(R.id.ll_shapgrade);
        mRefreshLayout1 = (BGARefreshLayout) view.findViewById(R.id.refresh_layout1);
        // 为BGARefreshLayout 设置代理
        mRefreshLayout1.setDelegate(this);
        // 设置下拉刷新和上拉加载更多的风格     参数1:应用程序上下文,参数2:是否具有上拉加载更多功能
        BGARefreshViewHolder refreshViewHolder = new BGANormalRefreshViewHolder(getActivity(), true);
        // 设置下拉刷新和上拉加载更多的风格
        mRefreshLayout1.setRefreshViewHolder(refreshViewHolder);
        // 为了增加下拉刷新头部和加载更多的通用性,提供了以下可选配置选项  -------------START
        // 设置正在加载更多时不显示加载更多控件
        // mRefreshLayout.setIsShowLoadingMoreView(false);
        // 设置正在加载更多时的文本
        refreshViewHolder.setLoadingMoreText("正在加载...");
        switch (type) {
            case 1:
                //flase显示所有评论,默认显示有内容评论
                PadGrade(null, mIsChecked);
                break;
            case 2:
                PadComplain(1);
                mLlShapgrade.setVisibility(View.GONE);
                break;

        }


    }


    private void initSizeData() {
        //评价动态标签流式布局显示
        mGradeTagAdapter = new TagAdapter<>(getActivity());
        mGradeFlowTagLayout.setTagCheckedMode(FlowTagLayout.FLOW_TAG_CHECKED_SINGLE);
        mGradeFlowTagLayout.setAdapter(mGradeTagAdapter);
        mGradeFlowTagLayout.setOnTagSelectListener(new OnTagSelectListener() {
            @Override
            public void onItemSelect(FlowTagLayout parent, List<Integer> selectedList) {
                if (selectedList != null && selectedList.size() > 0) {
                    Map<String, String> map = new HashMap<String, String>();
                    for (int i : selectedList) {
                        switch (i) {
                            case 0:
                                PadGrade(index_0 + "", mIsChecked);
                                mStartStatus = index_0 + "";
                                map.put("value", "五星评价");
                                JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);
                                break;
                            case 1:
                                PadGrade(index_1 + "", mIsChecked);
                                mStartStatus = index_1 + "";
                                map.put("value", "四星评价");
                                JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);
                                break;
                            case 2:
                                PadGrade(index_2 + "", mIsChecked);
                                mStartStatus = index_2 + "";
                                map.put("value", "三星评价");
                                JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);
                                break;
                            case 3:
                                PadGrade(index_3 + "", mIsChecked);
                                mStartStatus = index_3 + "";
                                map.put("value", "二星评价");
                                JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);
                                break;
                            case 4:
                                PadGrade(index_4 + "", mIsChecked);
                                mStartStatus = index_4 + "";
                                map.put("value", "一星评价");
                                JAnalyticsUtil.onCountEvent(mContext, JAnalyticsUtil.DPPFPL, map);
                                break;

                        }

                    }
                } else {
                    Toast.makeText(getActivity(), "没有选择标签", Toast.LENGTH_SHORT).show();
                    mStartStatus = null;
                    PadGrade(null, mIsChecked);

                }
            }
        });
        netWorkHelper.obtainStoreScoreInfoComment(mContext, new NetWorkListener.ObtainStoreScoreInfoCommentListener() {
            @Override
            public void onFinish(int score, int pointCount, int starFive, int starFour, int starThree, int starTwo, int starOne) {
                star1 = starOne;
                star2 = starTwo;
                star3 = starThree;
                star4 = starFour;
                star5 = starFive;
                List<String> dataSource1 = new ArrayList<>();
                int i = 0;
                if (star5 != 0) {
                    dataSource1.add("5星评价" + "\n" + "      " + star5);
                    i++;
                    index_0 = 5;
                }
                if (star4 != 0) {
                    dataSource1.add("4星评价" + "\n" + "      " + star4);
                    if (i == 0) {
                        index_0 = 4;
                    } else {
                        index_1 = 4;
                    }
                    i++;
                }
                if (star3 != 0) {
                    dataSource1.add("3星评价" + "\n" + "      " + star3);
                    switch (i) {
                        case 0:
                            index_0 = 3;
                            break;
                        case 1:
                            index_1 = 3;
                            break;
                        case 2:
                            index_2 = 3;
                            break;
                    }
                    i++;
                }
                if (star2 != 0) {
                    dataSource1.add("2星评价" + "\n" + "      " + star2);
                    switch (i) {
                        case 0:
                            index_0 = 2;
                            break;
                        case 1:
                            index_1 = 2;
                            break;
                        case 2:
                            index_2 = 2;
                            break;
                        case 3:
                            index_3 = 2;
                            break;
                    }
                    i++;
                }
                if (star1 != 0) {
                    dataSource1.add("1星评价" + "\n" + "      " + star1);
                    switch (i) {
                        case 0:
                            index_0 = 1;
                            break;
                        case 1:
                            index_1 = 1;
                            break;
                        case 2:
                            index_2 = 1;
                            break;
                        case 3:
                            index_3 = 1;
                            break;
                        case 4:
                            index_4 = 1;
                            break;
                    }
                    i++;
                }

                mGradeTagAdapter.onlyAddAll(dataSource1);
            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "网络错误", Toast.LENGTH_SHORT).show();
            }
        });
//        List<StarEntity> dataSource = new ArrayList<>();
//        StarEntity mStarEntity1 = new StarEntity("1星评价",1);
//        dataSource.add(mStarEntity1);
    }

    //pad评价,true只显示有内容,下拉刷新回调
    private void PadGrade(String mLevel, boolean isShowNoComment) {
        netWorkHelper.obtainStoreScoreComment(mContext, mLevel, 1, isShowNoComment, new NetWorkListener.ObtainStoreScoreCommentListener() {
            @Override
            public void onFinish(ArrayList<CommentInfo> list, PageInfo pageInfo) {
//              mLvShopgrade.setAdapter(new ItemPadgradeAdapter(mContext,list));
                mArrayList.clear();
                mArrayList.addAll(list);
                mRv.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
                mRv.setItemAnimator(new DefaultItemAnimator());
                mPadGradeAdpter = new PadGradeAdpter(mContext, list);
                mRv.setAdapter(mPadGradeAdpter);
//                if(mPadGradeAdpter==null){
//                    mPadGradeAdpter=new PadGradeAdpter(mContext,mArrayList );
//                    mRv.setAdapter(mPadGradeAdpter);
//                }else {
//                    mPadGradeAdpter.notifyDataSetChanged();
//                }
                //添加分割线
                mRv.addItemDecoration(new MyDividerItemDecoration(
                        getActivity(), DividerItemDecoration.VERTICAL));
                curPage = pageInfo.getCurPage();
                totalPages = pageInfo.getTotalPages();
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();

            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "网络错误", Toast.LENGTH_SHORT).show();
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();
            }
        });
    }

    //用户pad评价的上推加载回调
    private void PadGrade1(String mLevel, boolean isShowNoComment, int mCurPage) {
        netWorkHelper.obtainStoreScoreComment(mContext, mLevel, mCurPage, isShowNoComment, new NetWorkListener.ObtainStoreScoreCommentListener() {
            @Override
            public void onFinish(ArrayList<CommentInfo> list, PageInfo pageInfo) {
//              mLvShopgrade.setAdapter(new ItemPadgradeAdapter(mContext,list));
                mArrayList.clear();
                mArrayList.addAll(list);
                mRv.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
                mRv.setItemAnimator(new DefaultItemAnimator());
                mPadGradeAdpter = new PadGradeAdpter(mContext, list);
                mRv.setAdapter(mPadGradeAdpter);
                if (mPadGradeAdpter == null) {
                    mPadGradeAdpter = new PadGradeAdpter(mContext, mArrayList);
                    mRv.setAdapter(mPadGradeAdpter);
                } else {
                    mPadGradeAdpter.notifyDataSetChanged();
                }

                //添加分割线
                mRv.addItemDecoration(new MyDividerItemDecoration(
                        getActivity(), DividerItemDecoration.VERTICAL));
                curPage = pageInfo.getCurPage();
                totalPages = pageInfo.getTotalPages();
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();

            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "网络错误", Toast.LENGTH_SHORT).show();
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();
            }
        });
    }

    private void PadComplain(int mCurPage) {
        netWorkHelper.obtainStoreScoreComplain(mContext, mCurPage, new NetWorkListener.ObtainStoreScoreComplainListener() {
            @Override
            public void onFinish(ArrayList<ComplainInfo> list, PageInfo pageInfo) {
                mComplainInfoArrayList.clear();
                mComplainInfoArrayList.addAll(list);
                mRv.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
                mRv.setItemAnimator(new DefaultItemAnimator());
                if (mPadComplainAdapter == null) {
                    mPadComplainAdapter = new PadComplainAdapter(mContext, mComplainInfoArrayList);
                } else {
                    mPadComplainAdapter.notifyDataSetChanged();
                }
                mRv.setAdapter(mPadComplainAdapter);
                //添加分割线
                mRv.addItemDecoration(new MyDividerItemDecoration(
                        getActivity(), DividerItemDecoration.VERTICAL));
                curPage1 = pageInfo.getCurPage();
                totalPages1 = pageInfo.getTotalPages();

                mPadComplainAdapter.setOnItemClickListener(new PadComplainAdapter.OnItemClickListener() {
                    @Override
                    public void onClick(PadComplainAdapter.ViewHolder holder, View view, int position) {
                        //把Reclyclerview条目的位置跟具体订单关联起来
                        ComplainInfo mComplainInfo = mPadComplainAdapter.getItem(position);
                        switch (position) {
                            default:
                                Intent intent1 = new Intent();
                                intent1.putExtra("mComplainInfo", mComplainInfo);
                                intent1.setClass(mContext, UserComplainActivity.class);
                                startActivityForResult(intent1, 0);
                                break;
                        }
                    }
                });
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();


            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "联网失败", Toast.LENGTH_SHORT).show();
                mRefreshLayout1.endRefreshing();
                mRefreshLayout1.endLoadingMore();

            }
        });
    }

    //下拉刷新
    @Override
    public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
        Log.e("1", "run:--------->count1: " + count1);
        count1=activity.getCount();
        Log.e("1", "run:--------->count1: " + count1);
        if (count1 == 0) {
            if (type == 1) {
                PadGrade(mStartStatus + "", mIsChecked);
            } else {
                PadComplain(1);
            }
        } else {
            if (type == 1) {
                PadGrade(null, mIsChecked);
            } else {
                PadComplain(1);
            }
        }


    }

    //上推加载
    @Override
    public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
        if (type == 1) {
            if (curPage < totalPages) {
                curPage = curPage + 1;
                PadGrade1(mStartStatus + "", mIsChecked, curPage);
                return true;
            } else {
                Toast.makeText(mContext, "暂无更多数据", Toast.LENGTH_SHORT).show();
                mRefreshLayout1.endLoadingMore();
                return false;
            }
        } else {
            if (curPage1 < totalPages1) {
                curPage1 = curPage1 + 1;
                Log.e("1", "run:--------->6666 " + curPage1);
                PadComplain(curPage1);
                return true;
            } else {
                Toast.makeText(mContext, "暂无更多数据", Toast.LENGTH_SHORT).show();
                mRefreshLayout1.endLoadingMore();
                return false;
            }

        }
    }
}
package com.mine.project.function.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;

import com.mine.project.R;
import com.mine.project.common.helper.ActivityOpenTools;
import com.mine.project.common.utils.JAnalyticsUtil;
import com.mine.project.function.adapter.TabAdapter;
import com.mine.project.function.home.TabLayoutFragment;
import com.mine.project.home.ui.AppBaseActivity;
import com.mine.project.network.control.NetWorkListener;

import java.util.ArrayList;
import java.util.List;


public class ShopGradeActivity extends AppBaseActivity implements View.OnClickListener {
    private TextView tvTitle;
    private ImageButton ibReturn;
    private ImageButton ibHome;
    private TabLayout mTabLayout;
    private ViewPager mViewPager;
    private TabAdapter mTabAdapter;
    private RatingBar mRbShopGradeXingxing;
    private TextView mTvShopgradeZan;
    public  static String[] tabTitle = new String[]{"评论", "投诉"};
    private int mStatus;
    private      int count;

    public int getCount() {
        return count;
    }

    public void setCount(int mCount) {
        count = mCount;
    }

    private static final String complain = "投诉";
    public static final  int RESULT_OK = 2;

    @Override
    protected void onLayoutCreate(Bundle savedInstanceState) {
        setContentView(R.layout.activity_shop_grade);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initviews();
        initDatas();
    }

    @Override
    public void onClick(View v) {
        super.onClick(v);
        switch (v.getId()) {
            case R.id.ib_return:
                ActivityOpenTools.finishCustomActivityWithHold((Activity) mContext);
                JAnalyticsUtil.onCountEvent(mContext,JAnalyticsUtil.BACK,null);
                break;
            case R.id.ib_home:
                ActivityOpenTools.finishCustomActivityWithHold((Activity) mContext);
                JAnalyticsUtil.onCountEvent(mContext,JAnalyticsUtil.HOME,null);
                break;
            default:

                break;

        }

    }

    private void initviews() {
        tvTitle = findView(R.id.tv_title);
        ibReturn = findView(R.id.ib_return);
        ibHome = findView(R.id.ib_home);
        mTabLayout = (TabLayout) findViewById(R.id.tab);
        mViewPager = (ViewPager) findViewById(R.id.viewpager);
        mRbShopGradeXingxing = (RatingBar) findViewById(R.id.rb_shop_grade_xingxing);
        mTvShopgradeZan = (TextView) findViewById(R.id.tv_shopgrade_zan);
        ibReturn.setOnClickListener(this);
        ibHome.setOnClickListener(this);

    }

    private void initDatas() {
        tvTitle.setText("店铺评分");
        netWorkHelper.obtainStoreScoreInfoComment(mContext, new NetWorkListener.ObtainStoreScoreInfoCommentListener() {
            @Override
            public void onFinish(int score, int pointCount, int starFive, int starFour, int starThree, int starTwo, int starOne) {
                mRbShopGradeXingxing.setRating(score);
                mTvShopgradeZan.setText(pointCount+"");
            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "网络错误", Toast.LENGTH_SHORT).show();
            }
        });
        netWorkHelper.obtainStoreScoreInfoComplain(mContext, new NetWorkListener.ObtainStoreScoreInfoComplainListener() {
            @Override
            public void onFinish(int score, int pointCount, int unTreatedCount) {
                tabTitle[1] = complain+"("+unTreatedCount+")";
                mTabAdapter.notifyDataSetChanged();

            }

            @Override
            public void onError(String errorDesc) {
                Toast.makeText(mContext, "网络错误", Toast.LENGTH_SHORT).show();
            }
        });





    }

    @Override
    protected void onResume() {
        super.onResume();
        List<Fragment> fragments = new ArrayList<>();
        for (int i = 0; i < tabTitle.length; i++) {
            fragments.add(TabLayoutFragment.newInstance(i + 1));
        }
        mTabAdapter = new TabAdapter(getSupportFragmentManager(), fragments);
        //给ViewPager设置适配器
        mViewPager.setAdapter(mTabAdapter);
        //将TabLayout和ViewPager关联起来。
        mTabLayout.setupWithViewPager(mViewPager);
//        mTabLayout.setLayoutParams();
        mTabLayout.getTabAt(1);
//        mTabLayout.setSelected(false);
        mTabLayout.setTop(1);
        //设置可以滑动
        mTabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
        //均分
        mTabLayout.setTabMode(TabLayout.MODE_FIXED);
        mViewPager.setCurrentItem(mStatus);

    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        // 根据上面发送过去的请求码来区别
        switch (resultCode) {
            case RESULT_OK:
                mStatus = 1;
                count=1;
                 Log.e("1", "run:--------->count333 "+count );
                break;
            default:
                break;
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值