From 7be66bc9663c1106ebc78748dc22f394680ac86b Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 29 十二月 2020 09:57:09 +0800
Subject: [PATCH] 1. 修复场景地图界面选择场景点时可能由于列表下标越界导致崩溃问题; 2. 修复自定义PagerAdapter时,没有重写destroyItem可能会导致的崩溃问题; 3. 修改数据库实体类MediaTypeAlias的主键id类型从龙变更为Long,否则无法自增; 4. 新增部分列表相关的工具函数;

---
 app/src/main/java/cn/flightfeather/thirdapp/adapter/MOVListAdapter.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/cn/flightfeather/thirdapp/adapter/MOVListAdapter.java b/app/src/main/java/cn/flightfeather/thirdapp/adapter/MOVListAdapter.java
index 2f6738a..a03d386 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/adapter/MOVListAdapter.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/adapter/MOVListAdapter.java
@@ -11,7 +11,7 @@
 
 import cn.flightfeather.thirdapp.R;
 import cn.flightfeather.thirdapp.activity.MOVMapActivity;
-import cn.flightfeather.thirdapp.bean.Scense;
+import cn.flightfeather.thirdapp.bean.entity.Scense;
 
 /**
  * Created by linli on 2018/1/25.
@@ -39,7 +39,8 @@
 
     @Override
     public void onBindViewHolder(final ScenseListViewHolder holder, final int position) {
-        final Scense info = mDataList.get(position);
+        int pos = holder.getAdapterPosition();
+        final Scense info = mDataList.get(pos);
         holder.tv_scenseName.setText(info.getName());
         holder.tv_no.setText(String.valueOf(info.getDisplayID()));
         if (context.getmCurrentMode() == MOVMapActivity.MODE_ADD_SUBTASK) {
@@ -61,8 +62,8 @@
                     public void onClick(View v) {
                         int monitorNum = info.getMonitorNum() - 1;
                         if (monitorNum == 0) {
-                            context.setmCurrentPosition(position);
-                            context.updateMarkers(context.getmMarkerList().get(position), info);
+                            context.setmCurrentPosition(pos);
+                            context.updateMarkers(context.getmMarkerList().get(pos), info);
                         } else {
                             info.setMonitorNum(monitorNum);
                             context.updateScenseDesc();
@@ -78,8 +79,8 @@
                 public void onClick(View v) {
                     int num = info.getMonitorNum();
                     if (num == 0) {
-                        context.setmCurrentPosition(position);
-                        context.updateMarkers(context.getmMarkerList().get(position), info);
+                        context.setmCurrentPosition(pos);
+                        context.updateMarkers(context.getmMarkerList().get(pos), info);
                     } else {
                         info.setMonitorNum(num + 1);
                         context.updateScenseDesc();

--
Gitblit v1.9.3