修复RecyclerView Bug

This commit is contained in:
itgaojian 2023-05-08 11:34:13 +08:00
parent 6f73e96888
commit 4856704bd2
3 changed files with 60 additions and 54 deletions

View File

@ -21,3 +21,8 @@
1.事件详情添加上报人名称 1.事件详情添加上报人名称
2.登录页添加标识 2.登录页添加标识
``` ```
### 2023-5-8
```
1.修复Bug Inconsistency detected (在清除了mData后续要重新刷新Adapter)
```

View File

@ -5,13 +5,13 @@ plugins {
android { android {
signingConfigs { signingConfigs {
release { release {
storeFile file('/Users/adam/Documents/tengshi.jks') storeFile file('/Users/adam/Documents/work/keystore/tengshi.jks')
storePassword 'aaa111!!!' storePassword 'aaa111!!!'
keyAlias = 'tengshi' keyAlias = 'tengshi'
keyPassword 'aaa111!!!' keyPassword 'aaa111!!!'
} }
debug { debug {
storeFile file('/Users/adam/Documents/tengshi.jks') storeFile file('/Users/adam/Documents/work/keystore/tengshi.jks')
storePassword 'aaa111!!!' storePassword 'aaa111!!!'
keyAlias = 'tengshi' keyAlias = 'tengshi'
keyPassword 'aaa111!!!' keyPassword 'aaa111!!!'

View File

@ -5,6 +5,9 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.tengshisoft.chatmodule.R; import com.tengshisoft.chatmodule.R;
@ -24,8 +27,6 @@ import com.tenlionsoft.baselib.core.widget.views.TypeFaceTextView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.Unbinder; import butterknife.Unbinder;
@ -96,10 +97,10 @@ public class DeptContactFragment extends BaseFragment {
UserDatabaseBean bean = (UserDatabaseBean) o; UserDatabaseBean bean = (UserDatabaseBean) o;
//跳转用户详情 //跳转用户详情
ARouter.getInstance() ARouter.getInstance()
.build(PathConfig.PATH_MODULE_CHAT_ADDRESSLIST_USER_DETAIL) .build(PathConfig.PATH_MODULE_CHAT_ADDRESSLIST_USER_DETAIL)
.withString("id", bean.getUserId()) .withString("id", bean.getUserId())
.withString("deptId", bean.getDepartmentId()) .withString("deptId", bean.getDepartmentId())
.navigation(); .navigation();
} else { } else {
//部门 //部门
DeptDatabaseBean bean = (DeptDatabaseBean) o; DeptDatabaseBean bean = (DeptDatabaseBean) o;
@ -132,56 +133,56 @@ public class DeptContactFragment extends BaseFragment {
mAdapter.setData(mDatas); mAdapter.setData(mDatas);
refreshStateView(STATE_LOAD); refreshStateView(STATE_LOAD);
Observable.create((ObservableOnSubscribe<Integer>) emitter -> { Observable.create((ObservableOnSubscribe<Integer>) emitter -> {
try { try {
if (mDataBase == null) { if (mDataBase == null) {
mDataBase = AppDatabase.getInstance(mActivity.getApplication()); mDataBase = AppDatabase.getInstance(mActivity.getApplication());
mDeptDao = mDataBase.getDeptDao(); mDeptDao = mDataBase.getDeptDao();
mUserDao = mDataBase.getUserDao(); mUserDao = mDataBase.getUserDao();
} }
List<DeptDatabaseBean> beans = mDeptDao.queryByPid(mSelDeptId); List<DeptDatabaseBean> beans = mDeptDao.queryByPid(mSelDeptId);
List<UserDatabaseBean> deptId = mUserDao.getUsersByDeptId(mSelDeptId); List<UserDatabaseBean> deptId = mUserDao.getUsersByDeptId(mSelDeptId);
if (beans.size() > 0 || deptId.size() > 0) { if (beans.size() > 0 || deptId.size() > 0) {
mDatas.addAll(beans); mDatas.addAll(beans);
mDatas.addAll(deptId); mDatas.addAll(deptId);
emitter.onNext(1); emitter.onNext(1);
} else { } else {
emitter.onNext(2); emitter.onNext(2);
} }
} catch (Exception e) { } catch (Exception e) {
emitter.onError(new Exception("加载失败")); emitter.onError(new Exception("加载失败"));
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull Integer o) {
if (o == 1) {
//有数据
mAdapter.setData(mDatas);
refreshStateView(STATE_SUCCESS);
} else {
//没有数据
refreshStateView(STATE_EMPTY);
} }
} })
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Integer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@Override }
public void onError(@NonNull Throwable e) {
//加载失败
refreshStateView(STATE_ERROR);
}
@Override @Override
public void onComplete() { public void onNext(@NonNull Integer o) {
mAdapter.setData(mDatas);
if (o == 1) {
//有数据
refreshStateView(STATE_SUCCESS);
} else {
//没有数据
refreshStateView(STATE_EMPTY);
}
}
} @Override
}); public void onError(@NonNull Throwable e) {
//加载失败
refreshStateView(STATE_ERROR);
}
@Override
public void onComplete() {
}
});
} }
@Override @Override