Spinner 保存 记录状态 出现问题 以及 使用方法

Spinner 保存上次 浏览记录 方法

小编今天 项目中 遇到 一个 保存上次浏览记录 的情况 因为使用的 Spinner 所以 只是针对于 使用Spinner 系统插件的 小伙伴
先看下效果 注意 教材列表 选中的教材
在这里插入图片描述
第一次进去的时候显示的是 七年级上册 然后我进去之后选择的是八年级 下册 点击返回键 然后在进去 默认选择 八年级下册 成功
,但是在这里之前 小编 遇到了很多问题 ,因为 首先 看段代码

  spYuxi.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
   
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
   
                if (position < jiaocaiList.size()) {
   
                    spYuxi.setPrompt(jiaocaiList.get(position).getSubjectname() + "-" + jiaocaiList.get(position).getBookname());
                    lsbid = jiaocaiList.get(position).getLsbid();
                    zhangjieList.clear();
                    yuxiList.clear();
                    page = 1;    //当每次选择 新教材的时候  因为详情都要重新加载所以 将页数设置 1
                    yuxiPresenter.setDataartice(lsbid, 1);  //教材选择之后全部数据

                    remember_number = position;


                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
   

            }
        });

** 注意:代码中的: spYuxi 是我的spinner 控件变量名** 在上段代码中 大家可以看出来 这个监听事件 不是一个点击的监听事件 ,他就是用来监听 spinner 中列表 改变的 监听 ,相信大家 也遇到过一些问题 比如说 在项目中 一进来之后 他的这个监听状态 就直接 走了 并且默认 position 是0 所以 当咱们 需要有记录 历史 的这个功能的时候 就有些头疼 我当时 也是从网上 搜了很久 才搜到一篇 精髓 我先给大家截个图 先看关键位置 然后再看下 我的代码
在这里插入图片描述
下边加上我的代码

package com.xhly.easystud.zhan.studentyuxi;

import android.app.AlertDialog;
import android.app.backup.SharedPreferencesBackupHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.lifecycle.Observer;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.RecyclerView;

import com.alibaba.fastjson.JSON;
import com.dueeeke.videoplayer.util.L;
import com.example.juanshichang.base.Api;
import com.example.juanshichang.base.JsonParser;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
import com.xhkjedu.sxb.api.re.SchoolService;
import com.xhly.easystud.MyApp;
import com.xhly.easystud.R;
import com.xhly.easystud.api.ApiManager;
import com.xhly.easystud.base.BaseMvpActivity;
import com.xhly.easystud.bean.ResultVo;
import com.xhly.easystud.bean.StudentYuxiBean;
import com.xhly.easystud.bean.SyncVideoArticeBean;
import com.xhly.easystud.bean.SyncVideoTextBookBean;
import com.xhly.easystud.http.Content;
import com.xhly.easystud.http.SingleMap;
import com.xhly.easystud.ui.fragment.ResourseFragment;
import com.xhly.easystud.utils.LogTool;
import com.xhly.easystud.utils.RxScheduler;
import com.xhly.easystud.utils.SharedPreferencesUtil;
import com.xhly.easystud.utils.StartUtil;
import com.xhly.easystud.utils.Util;
import com.xhly.easystud.widget.LiveDataBus;
import com.xhly.easystud.zhan.studentyuxi.contreactyuxi.ContractYuxi;
import com.xhly.easystud.zhan.studentyuxi.presenter.YuxiPresenterImpl;
import com.xhly.easystud.zhan.xyncvideo.SynvVideoArticeAdapter;

import org.angmarch.views.NiceSpinner;
import org.angmarch.views.OnSpinnerItemSelectedListener;

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

import io.reactivex.functions.Consumer;

/**
 * 作者:NB的LittleWhite
 * <p>
 * 邮箱:[email protected]
 */
public class YuxiActivity extends BaseMvpActivity<YuxiPresenterImpl> implements View.OnClickListener, ContractYuxi.MyView {
   
    private static final String TAG = "YuxiActivity";
    Integer page = 1;
    Integer pageSize = 10;
    Integer schoollevel = 0;
    Integer createid = 0;     //用户id
    Integer schoolid = 0;     //学校id
    Integer lsbid = 0;        //教材id
    Integer directorid = 0;   //章节id
    Integer subjectid = 0;    //科目id
    private TextView tvBack;
    private SmartRefreshLayout smartYuxi;
    private RecyclerView relvYuxi;
    private YuxiPresenterImpl yuxiPresenter;
    private RelativeLayout rlytEmpty;
    private ArrayList<SyncVideoTextBookBean.ObjBean> jiaocaiList;
    private ArrayList<SyncVideoArticeBean.ObjBean> zhangjieList;
    private ArrayList<StudentYuxiBean> yuxiList;
    private RecyclerView relvZhangjie;
    private SynvVideoArticeAdapter synvVideoArticeAdapter;
    private StudentYuxiAdapter studentYuxiAdapter;
    private CheckBox chkAll;
    private FrameLayout listAll;
    private RelativeLayout rlytEmpty1;
    private LiveDataBus bus = LiveDataBus.get();
    private Integer resourceid = 0; //资源id
    private long starttime = 0;    //开始时间
    private Integer classid = 0;   //课堂id
    private Integer groupid = 0;   //组id
    private Integer user = 0;         //学生id
    private Spinner spYuxi;        //教才
    private Integer remember_number = 0;        //记录上次的位置
    private HashMap<Integer, Integer> remember_number_map;


    @Override
    protected int getContentView() {
   
        return R.layout.activity_yuxi;
    }


    @Override
    protected void initView() {
   
        changeStatusColor(true);

        tvBack = findViewById(R.id.tv_back);
        smartYuxi = findViewById(R.id.smart_yuxilist);
        listAll = findViewById(R.id.listAll);
        rlytEmpty1 = findViewById(R.id.rlyt_empty1);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值