zoukankan      html  css  js  c++  java
  • 使用Intent启动图片裁剪时遇到的问题:Intent#setData()与Intent#setType()赋值问题

    在做使用Intent启动图片裁剪时遇到一个问题:

    分开调用Intent#setData();Intent#setType();这两个方法时,程序无法正确运行,但使用Intent#setDataAndType();程序正常运行。

    原因分析:

    查看Intent#setData(),Intent#setType()源码:

    public Intent setData(Uri data) {
            mData = data;
            mType = null;
            return this;
        }
      public Intent setType(String type) {
            mData = null;
            mType = type;
            return this;
        }

    分别调用Intent#setData(),Intent#setType()时,会把另一个值设置为null,并覆盖原有值。所以如果分别调用这两个方法那么永远只有一个会被正确地赋值。

    所以在这两个属性都要赋值时要使用Intent#setDataAndType():

     public Intent setDataAndType(Uri data, String type) {
            mData = data;
            mType = type;
            return this;
        }
  • 相关阅读:
    c#剪切板操作
    eclipse mvn build error tips
    Redis Tips
    IntilliJ Idea 使用中的问题与解决方案
    mongo
    python
    SQL Relative
    sybase update
    run current vim file
    git
  • 原文地址:https://www.cnblogs.com/mada0/p/4821458.html
Copyright © 2011-2022 走看看