我有一個SQLite數據庫,我需要存儲一些值,我把它放到一個AlertDialog。需要從alertDialog檢索值
這是我的代碼:
boton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
final TextView asd = (TextView)findViewById(R.id.textView1);
// get prompts.xml view
LayoutInflater li = LayoutInflater.from(context);
View promptsView = li.inflate(R.layout.dialog, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
// set prompts.xml to alertdialog builder
alertDialogBuilder.setView(promptsView);
final EditText userInput = (EditText) promptsView
.findViewById(R.id.editTextDialogUserInput1);
final String uI1 = userInput.getText().toString().trim();
final EditText userInput1 = (EditText) promptsView
.findViewById(R.id.editTextDialogUserInput2);
final String uI2 = userInput1.getText().toString().trim();
final EditText userInput2 = (EditText) promptsView
.findViewById(R.id.editTextDialogUserInput3);
final String uI3 = userInput2.getText().toString().trim();
// set dialog message
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("Aceptar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
asd.setText(uI1);
if(db != null){
db.execSQL("INSERT INTO Usuarios (nombre, apellidos, localidad) " +
"VALUES ('" + uI1 + "', '" + uI2 + "', '" + uI3 + "')");
}
}
})
.setNegativeButton("Cancelar",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
TextView的是檢查是否即時得到的值是錯誤的,但即時得到在兩側,TextView的和數據庫中的值,我失去了什麼一個空字符串?對dialog.xml的引用很好,我有3個名爲editTextDialogUserInput1,2和3的EditTexts。
亞歷克斯,使用調試器,使它成爲你最好的朋友。如果您將斷點放在您認爲發生問題的地方並在調試中運行,則可以在此處看到變量的值。如果您發現這些值不對齊,則可以在該行之前放置斷點,並跟蹤出現錯誤的位置。如果這些值確實一致,則稍後再添加更多斷點以查看它與預期的偏差。這對我有很大的幫助,特別是在編碼的第6和第7個小時。祝你好運。 – Khanal
非常感謝您的提示,我將開始使用它。 – Aleeeeeeeeeeeeex