网络请求
在实现网络网络请求的时候,如果在一个界面(例如activity)数据未加载完成就直接就finish,而finish已经完成但是此时又请求成功,然后去更新页面,就是造成崩溃现象,原因是界面的好多对象已经不存在(例如Context),一定要注意此操作,特别是弹出一些dialog或者使用glide(此处是一个坑,请务必用下面方法先判断)的时候的时候。解决方案:
public static boolean isFinish(Context context) {
if (((Activity) context).isFinishing()) {
return true;
}
if (Build.VERSION.SDK_INT >= 17) {
if (((Activity) context).isDestroyed()) {
return true;
}
}
return false;
}
Android:RecyclerView在Scrollview中显示不全的解决办法
在RecyclerView外嵌套一个RelativeLayout 并添加
android:descendantFocusability="blocksDescendants"
这个属性就好了
代码如下
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants">
<android.support.v7.widget.RecyclerView
android:id="@+id/lucky_recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView>
</RelativeLayout>
Android:RecyclerView在Scrollview中滑动冲突的解决办法
lv_single_trip.setLayoutManager(new LinearLayoutManager(this){
@Override
public boolean canScrollVertically() {
return false;
}
});