提问人:M Baig 提问时间:2/25/2021 最后编辑:Rajan KaliM Baig 更新时间:2/25/2021 访问量:851
原因:java.lang.ArrayIndexOutOfBoundsException: length=0;索引=0
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
问:
我正在尝试从android studio中名为“Fragment_One”的片段实现深色主题。 这是来自该片段文件
if (!isChecked) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
isChecked = true;
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
isChecked = false;
}
它在 onRequestPermissionsResult() 方法的以下行中在 MainActivity 中出现错误
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
onRequestPermissionsResult() 方法如下:
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CODE_PERMISSION) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "permission granted on request", Toast.LENGTH_SHORT).show();
files= getAllFiles(this);
FragmentTransaction f_fragmentTransaction = getSupportFragmentManager().beginTransaction();
f_fragmentTransaction.replace(R.id.mainFragment, new Fragment_Two()).commit();
}
if (grantResults[1] == PackageManager.PERMISSION_GRANTED) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_MANAGE_WRITE_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
}
} else {
ActivityCompat.requestPermissions(MainActivity.this, new String[]
{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_PERMISSION);
}
if (requestCode == 100) {
if (grantResults.length > 0
&& grantResults[0] + grantResults[1] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(MainActivity.this,"allow settings ",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this,"permission denied ",Toast.LENGTH_SHORT).show();
}
return;
}
}
答: 暂无答案
评论