只要在我的活動中按下對話框上的肯定按鈕,就會出現我的錯誤。最初編輯文本應該將信息保存到一個字符串中,然後保存到一個SharedPreferences文件中,但經過很多努力都無濟於事,我重新提供了大部分代碼,並隔離了一條仍然給我一個錯誤的代碼。Android中的Edittext對話框錯誤是不合邏輯的?
spinnerClass.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// have each new entry be "insert"ed to arrayadapter so create is at end
// the newer, the closer to the top
if (id==1)
// eventually uses as element value to check array or SharedPrefs if matches
// "Create New+" or not < so doesn't prompt for no reason
{
build = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = getLayoutInflater();
// Pass null as the parent view because its going in the dialog layout
build.setView(inflater.inflate(R.layout.create_class_dialog, null))
.setTitle("New Class Entry")
.setPositiveButton("Create", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
String farnsworth = inputClass.getText().toString();
要測試這個可能給我一個問題的一行,我硬編碼「Hello world」。執行時沒有錯誤。現在這個簡單的改變正在崩潰我的應用程序!
/*
// classesPrefsList = getSharedPreferences(CLASSES_PREFS, 0);
//SharedPreferences.Editor editor = classesPrefsList.edit();
//editor.putString("ClassList"+(classesList.size()-1), enteredClass);
//editor.commit();
//classesList = getClassesArrayListSharedPreferences();
// classAdapter.notifyDataSetChanged();
* */
dialog.cancel();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = build.create();
alert.show();
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
你在哪裏初始化'inputClass'的EditText? –
檢查:( 我在我的onCreate之前,我設置任何偵聽器。它與我的其他初始化工作,並且資源ID匹配正確,所以它不是。 – AlleyOOP
如果inputClass'內部對話框然後你會需要對話框視圖來初始化'inputClass' EditText。 –