Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android注释语法_Android_Android Resources_Android Annotations - Fatal编程技术网

android注释语法

android注释语法,android,android-resources,android-annotations,Android,Android Resources,Android Annotations,我知道这是个愚蠢的问题但是 我从来没有使用过安卓注解,它只是在安卓工作室中以自动完成的方式出现,我认为使用它是个好主意,对吗 我做了研究,学会了如何使用参数,但没有找到任何关于如何使用配对和通用 这是我的密码 private Pair<StringRes ,DrawableRes> getRespectiveStingAndDrawableRes(String permission) { if(permission.equals(Manifest.permission

我知道这是个愚蠢的问题但是

我从来没有使用过安卓注解,它只是在安卓工作室中以自动完成的方式出现,我认为使用它是个好主意,对吗

我做了研究,学会了如何使用
参数
,但没有找到任何关于如何使用
配对
通用

这是我的密码

private Pair<StringRes ,DrawableRes> getRespectiveStingAndDrawableRes(String permission) {
        if(permission.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE))
            return Pair.create(R.string.WRITE_EXTERNAL_STORAGE_permision_message,R.drawable.ic_menu_gallery);
        return null;
    }
private Pair getRespectiveStingAndDrawableRes(字符串权限){
if(permission.equals(Manifest.permission.WRITE\u外部存储))
返回对。创建(R.string.WRITE\u EXTERNAL\u STORAGE\u permission\u message,R.drawable.ic\u menu\u gallery);
返回null;
}
这个错误出现了

Error:(49, 31) error: incompatible types
required: Pair<StringRes,DrawableRes>
found:    Pair<Integer,Integer>
错误:(49,31)错误:不兼容的类型
必填项:成对
发现:配对
我尝试使用
整数
,但也没有成功


注意:我使用的
piar
android.support.v4.util.Pair
我不确定您的问题与注释有何关系,因为您没有使用任何注释,但错误表明
R.string
R.drawable
都是int值,而不是StringRes或DrawableRes

这可能有用。注意
@XRes
是注释,它不是您试图将其用作的类类型

private Pair<Integer , Integer> getRespectiveStingAndDrawableRes(String permission) {
        if(permission.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE))
            return Pair.create(@StringRes R.string.WRITE_EXTERNAL_STORAGE_permision_message, @DrawableRes R.drawable.ic_menu_gallery);
        return null;
    }
private Pair getRespectiveStingAndDrawableRes(字符串权限){
if(permission.equals(Manifest.permission.WRITE\u外部存储))
返回对.create(@StringRes R.string.WRITE\u EXTERNAL\u STORAGE\u permission\u message,@DrawableRes R.drawable.ic\u menu\u gallery);
返回null;
}

如果这不起作用,那么只需删除两个
@XRes
注释

您不能以这种方式使用这些注释。它们主要用于将参数值限制为给定类型,例如,
@StringRes
要求指定的
int
值是有效的字符串资源

对于这对
变量
,您仍然必须写入
整数
,因为这是实际的变量类型:

private Pair<Integer, Integer> getRespectiveStingAndDrawableRes(String permission) {
    ...
}
private Pair getRespectiveStingAndDrawableRes(字符串权限){
...
}

R.string.bla_bla_bla
不是
StringRes
?不是,它是指向字符串资源的整数id。StringRes是一个注释类,而不是字符串对象类错误:这里不允许注释(在方法Pair.create中),正如我所说的,它可能会工作,也就是说可能不会。那就去掉注释吧。这里有一个关于正确使用它们的链接。