我有一個打開對話框以更改數字的按鈕。該按鈕處於活動狀態,並生成一個新的類名對話框,用於存儲不同的對話框。關閉對話框後執行
對話框consigna: Dialogs.class
public String consigna(){
AlertDialog.Builder alert = new AlertDialog.Builder(ctxt);
alert.setTitle("Nueva temperatura");
alert.setMessage("Agrega una nueva temperatura");
final EditText input = new EditText(ctxt);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
input.setRawInputType(InputType.TYPE_CLASS_NUMBER);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
data = input.getText().toString();
}
});
alert.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//Put actions for CANCEL button here, or leave in blank
}
});
alert.show();
return data;
}
上點擊按鈕: MainActivity
//I need change these two values:
final public double temperatura = 200.3;
String newData;
...
public void onClick(View v) {
switch (v.getId()){
case R.id.tempConsigna:
dialog = new Dialogs(MainActivity.this);
String data = dialog.consigna();
newData = data;
break;
...//other cases...
的問題是newData =數據;我沒有數據,因爲對話框沒有關閉。該對話框在其他線程中工作,不是嗎?
如何使用對話框結果更改newData var?它可以成爲一個對話課程?
你可以使用回調的概念(接口)了點。 –
你可以擁有和使用這個?鏈接?我不知道這是什麼。 – WIngenia
我正在添加我的答案,請等待 –