-2
我想使AlertDialog彈出並在其中有一個微調器,其中有人可以選擇一個項目,並將該項目保存到變量。然而,當我測試它時,我點擊確定按鈕,應用程序停止,並且在logcat上獲得java.NullPointerException
。顯然,Spinner的getSelectedItem()
(這是應該得到所選的項目)造成這java.NullPointerException
。獲取微調器的選定項目,而不會導致java.nullPointerException
導致該NullPointerException異常代碼:
alertDialogBuilder.setView(promptsView);
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
final Spinner spinner = (Spinner) findViewById(R.id.LanguagePicker);
/*(error is here) -->*/ text = spinner.getSelectedItem().toString();
spinner.setAdapter(adapter);
String r = textInput.getText().toString();
allTheTranslatedText = getTranslatedText(r);
textOutput.setText(allTheTranslatedText);
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
});
有沒有什麼建議可以使用檢索Spinner的所選項目沒有導致一個NullPointerException另一種方式?
你有沒有看到以下(意識到它有點過時):http://stackoverflow.com/questions/3264610/findviewbyid-returns-null – michaelok