1.导出的APK 无法在andriod 6.0版本手机上安装,显示应用未安装
解决方法:
打包APK的时候 将V1 V2全部勾选
APK 签名方案 v2 是在 Android 7.0 (Nougat) 中引入的。为了使 APK 可在 Android 6.0 (Marshmallow) 及更低版本的设备上安装,应先使用 JAR 签名功能对 APK 进行签名,然后再使用 v2 方案对其进行签名。
2.关于Fragment中调用startactivityforresult的问题
一句话可以总结,从哪儿调用的startactivityforresult就在哪儿可调到onActivityResult
3.在RecylerView中刷新图片出现的bug,导致刷新后图片不显示
解决办法:
- RecyclerView.RecycledViewPool pool =recycler_view.getRecycledViewPool();
pool.setMaxRecycledViews(0,10);
recycler_view.setRecycledViewPool(pool);
2.myAdapter.notifyItemRangeChanged(0,Beans.size());
4.转载 edittext 点击空白处 隐藏软键盘
/**
- 获取点击事件
*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View view = getCurrentFocus();
if (isHideInput(view, ev)) {
HideSoftInput(view.getWindowToken());
view.clearFocus();
}
}
return super.dispatchTouchEvent(ev);
}
/**
- 判定是否需要隐藏
*/
private boolean isHideInput(View v, MotionEvent ev) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left + v.getWidth();
if (ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom) {
return false;
} else {
return true;
}
}
return false;
}
/**
- 隐藏软键盘
*/
private void HideSoftInput(IBinder token) {
if (token != null) {
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
manager.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS);
}
5.recyclerview 产生item属性错乱的问题
有if 一定要有else
6.recylcrvice 在刷新的时候 快速下拉 引起崩溃
两种办法
1.设置在刷新的时候 为不可滑动状态 设置rlview的ontouchlistner 使其不响应滑动事件
2.在请求完新数据的时候再去clear原先list中的数据。