我有一个打开对话框以更改数字的按钮。该按钮处于活动状态,并生成一个新的类名对话框,用于存储不同的对话框。关闭对话框后执行
对话框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
我正在添加我的答案,请等待 –