我在调试窗口中使用警告对话框时有这条消息:"'这个'不可用"
我看到了两个类似的问题(this和this),但我没有Hugo,我找不到解决方案。
我的傻瓜:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/androidsvg-1.2.1.jar')
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.android.support:support-v13:24.2.0'
compile 'com.android.support:cardview-v7:24.2.0'
compile 'com.android.support:support-v4:24.2.0'
compile 'com.android.support:support-vector-drawable:24.2.0'
compile 'com.android.support:recyclerview-v7:24.2.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
}
和
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
和我的AlertDialogBuilder代码,在字符串.setMultiChoiceItems上失败
AlertDialog.Builder builder = new AlertDialog.Builder(AddKeyActivity.this, R.style.MyAlertDialogStyle);
builder.setTitle(R.string.choose_region)
.setMultiChoiceItems(regions, regions_chosen, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(...) {...}
....
}
实际上在Activity中我还有一个AlertDialog.Builder,它可以很好地工作。
拜托,你能帮我找到问题。
编辑:问题是在调试窗口中我看到" regions_chosen - '这个'不可用"。警报对话框未显示,活动崩溃。
EDIT2:数组的初始化:
final String[] regions = new String[Regions.getRegions().size()];
Regions.getRegions().toArray(regions);
boolean[] regions_chosen = new boolean[Regions.getRegions().size()];
答案 0 :(得分:2)
更改
String[] regions = new String[Regions.getRegions().size()];
Regions.getRegions().toArray(regions);
要,
String[] regions = new String[Regions.getRegions().size()];
regions = Regions.getRegions().toArray(regions);
您可以将上述优化为
String[] regions = Regions.getRegions().toArray(new String[0]);