当前位置: 移动技术网 > IT编程>移动开发>Android > android 对话框对于返回值的处理方法

android 对话框对于返回值的处理方法

2018年09月14日  | 移动技术网IT编程  | 我要评论

kotlin中文文档,人教版小学一年级语文上册教学计划,2012nba总决赛第5场

android对话框是异步的,因此无法获得其返回值。

例如: 我们给出一个提示,让用户确认,按确定删除,按取消则不删除。

这时候要获得用户是否按了确定键,进行删除处理,采用alertdialog是获取不到返回值的,因为alertdialog是异步的,非响应的。

当然如果不限麻烦可以采用打开activity的方式,或者popupwindow,这些方式是一种方案,但失去了对话框简洁的处理方式。

作为一名初学者,在尝试了slee()等方式后,没有找到好的方案。

最后,还是简化处理,将参数设置为对象的属性值,从对话框的确定事件中获取属性值,发送了一个消息,在消息中进行处理。 实际上也可以直接在确认事件中处理。

当然也可以自定义对话框,将属相值初始化到对话框中,进行处理。

简单列示一下处理的demo:

private bundle modeldata;

private static class myhandle extends handler{

private final weakreference mactivity;

public myhandler(mainactivity activity){

mactivity = new weakreference(activity);

}

@override

public void handlemessage(message msg){

final mainactivity aty = mactivity.get();

bundle vodata = msg.getdata();

if (aty != null) {

//进行处理

}

}

};

private myhandle mhandler = new myhandler(this);

 

private onclicklistener molistener = new onclicklistener(){

@override

public void onclick(view pview){

imagebutton vodel = (imagebutton)pview;

modeldata = (bundle)pview.gettag(r.id.tag_data);

string vstxnr = modeldata.getstring("txnr");

alertdialog.builder builder = new alertdialog.builder(pview.getcontext());

builder.settitle(r.string.tishi).

seticon(r.drawable.editbg).

setmessage("您将删除内容:"+vstxnr).

setpositivebutton("确定", new dialoginterface.onclicklistener(){

@override

public void onclick(dialoginterface ailog, int whick){

message msg = message.obtain();

msg.setdata(modeldata);

mhandler.sendmessage(msg);

}

}).setnegativebutton("取消", null);

alertdialog alertdialog = builder.create();

alertdialog.show();

}

};

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网