Android Studio 开发过程中遇到的问题

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,导致刷新后图片不显示
解决办法:

  1. 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中的数据。

猜你喜欢

转载自blog.csdn.net/adminyuqiao/article/details/104475042