Java 无法解析符号外部类,请求检查设置(Android)
我正在尝试使用Java 无法解析符号外部类,请求检查设置(Android),java,android,Java,Android,我正在尝试使用OuterClass从ResultCallback接口内访问顶级活动(MainActivity)。这是,但错误显示: 无法解析符号外部类 我正在使用Android版谷歌API文档中SettingsApi的示例代码 此外,我还收到另一个错误,即: 无法解析符号请求\u检查\u设置 MainActivity.java public class MainActivity extends AppCompatActivity { ... ... protected void
OuterClass从ResultCallback接口内访问顶级活动(MainActivity)。这是,但错误显示:
无法解析符号外部类
我正在使用Android版谷歌API文档中SettingsApi的示例代码
此外,我还收到另一个错误,即:
无法解析符号请求\u检查\u设置
MainActivity.java
public class MainActivity extends AppCompatActivity {
...
...
protected void createLocationRequest() {
...
...
result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
@Override
public void onResult(LocationSettingsResult result) {
final Status status = result.getStatus();
final LocationSettingsStates = result.getLocationSettingsStates();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
...
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
try {
status.startResolutionForResult(
OuterClass.this,
REQUEST_CHECK_SETTINGS);
} catch (SendIntentException e) {
...
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
...
break;
}
}
});
}
}
public类MainActivity扩展了AppCompatActivity{
...
...
受保护的void createLocationRequest(){
...
...
result.setResultCallback(新ResultCallback(){
@凌驾
公共void onResult(位置设置结果){
最终状态状态=result.getStatus();
final LocationSettingsStates=result.getLocationSettingsStates();
开关(status.getStatusCode()){
案例位置设置StatusCodes.SUCCESS:
...
打破
案例位置设置StatusCodes.RESOLUTION_要求:
试一试{
status.StartResult解决方案(
外层,这个,
请求检查设置);
}捕获(发送){
...
}
打破
案例位置设置StatusCodes.SETTINGS\u CHANGE\u不可用:
...
打破
}
}
});
}
}
谢谢 看起来请求检查设置只是值1的局部整数
到声明以下内容的github示例:
protected static final int REQUEST_CHECK_SETTINGS = 0x1;
然后在稍后调用与代码相同的函数时使用它:
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
...
status.startResolutionForResult(getActivity(), REQUEST_CHECK_SETTINGS);
这个问题以前已经问过了
我当然能理解这种混乱
请求检查设置在中的示例中使用,但从未解释该值的含义
即使在中,它也将参数描述为:“传递给onActivityResult的请求代码。”解决方案:我没有使用OuterClass。这个
,而是使用MainActivity。这个
,它可以工作 我在这里回答了
google文档非常混乱,因为它使用了一个占位符,好像它是一个预定义的对话框类型代码。0x1是什么意思?在“0x1”中的0x前缀表示“0x”右边的所有内容都是十六进制(以16为基数)数(例如,0x1A是十六进制表示数字26)。不管基数是多少,数字1都是相同的。我不确定getActivity()是否正确。我不是什么安卓专家。不过,我确实看到了一个类似的[StackOverflow]()主题。谢谢您的帮助。我后来得到了解决方案,请查看下面的