1
我为Android设备中的AlertDialog动态构建字符串数组。 创建字符串数组1所示:AlertDialog在一个字符串数组上崩溃而不在另一个上 - 它们看起来是相同的?
final int SAMPLERATES_NUM = 9;
String[] SampleRates_Str = new String[SAMPLERATES_NUM];
SampleRates_Str[ValidSampleRate_Index] = Integer.toString(SampRate);
现在我创建数组2字符串简单地通过:
String[] SampleRates_Str1 = {"48000", "44100", "32000", "22050", "16000", "11025", "8000", "4000"};
现在我打电话AlertDialog并呈现这两个阵列(一个在时间)。系统崩溃的SampleRates_Str但它只是对SampleRates_Str1 - 但是当我在ADK检查它们,它们出现完全相同的内容(至少对我来说)...
public void createListAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a Sampling Rate");
String[] SampleRates_Str1 = {"48000", "44100", "32000", "22050", "16000", "11025", "8000", "4000"};
builder.setSingleChoiceItems(SampleRates_Str1, SampleRates_Index,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
SampleRates_Index = item;
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { // Add the OK button
public void onClick(DialogInterface dialog, int which) {
PickFsDone = true;
}
}
);
AlertDialog alert = builder.create();
alert.show();
}
为什么不同?
前几行的崩溃日志:
10-11 04:56:36.746: E/AndroidRuntime(3144): FATAL EXCEPTION: main
10-11 04:56:36.746: E/AndroidRuntime(3144): Process: processing.test.soundanalyzer, PID: 3144
10-11 04:56:36.746: E/AndroidRuntime(3144): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
10-11 04:56:36.746: E/AndroidRuntime(3144): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394)
由于提前, 问候罗布。
即使我将SampleRates_Str1设置为9个字符串,也是一样的情况....我真的很想知道会有什么不同。在Watch窗口中,它们看起来是一样的... – user2064070
崩溃日志中的前几行:
10-11 04:56:36.746:E/AndroidRuntime(3144):致命例外:main 10-11 04:56:36.746: E/AndroidRuntime(3144):进程:processing.test.soundanalyzer,PID:3144 10-11 04:56:36.746:E/AndroidRuntime(3144):java.lang.NullPointerException:试图调用虚拟方法'java.lang .String java.lang.Object.toString()'null对象引用 10-11 04:56:36.746:E/AndroidRuntime(3144):\t at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394) – user2064070
显然你初始化array1失败。 array1的至少一个变量可以为null。 – hata