dialog-android怎么确定对话框返回的值是true还是false
3个回答
展开全部
真正的问题是我想要一个同步的对话框,对话框在恢复代码之前在dialog.show()之后等待用户来回答
在android中没有这样的beast。所有的对话框都是异步的,所以dialog.show()只是在一些队列中贴了这个对话框然后继续。因此不能及时的得到答案。
对于所有的它的价值(没什么)下面你会在创建一个对话框的方法里面找到怎么设置一个值。也许这种技术还有其他的用途,不仅仅是在对话框的生命周期中。
下边是一些相关信息,如果你用final boolean answer;替换boolean answer;我可能会说:它可能会在监听器里边访问内部变量,但是不可能为它分配一个新值,因为它是已经被声明过了的了。=
这里关键的问题出现了。
定义变量为
final boolean[] answer = new boolean[1];
一些人已经知道为什么这个将起作用了。这里的最后变量不是的单一的布尔数组,而是该数组本身。
所以现在你可以指定数组element [0]
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int buttonId) {
answer[0] = true;
}
});
. . .
return answer[0];
最终你能从你的方法中返回它。
2012.11.19 14:54举报| 评论 0 ||
在android中没有这样的beast。所有的对话框都是异步的,所以dialog.show()只是在一些队列中贴了这个对话框然后继续。因此不能及时的得到答案。
对于所有的它的价值(没什么)下面你会在创建一个对话框的方法里面找到怎么设置一个值。也许这种技术还有其他的用途,不仅仅是在对话框的生命周期中。
下边是一些相关信息,如果你用final boolean answer;替换boolean answer;我可能会说:它可能会在监听器里边访问内部变量,但是不可能为它分配一个新值,因为它是已经被声明过了的了。=
这里关键的问题出现了。
定义变量为
final boolean[] answer = new boolean[1];
一些人已经知道为什么这个将起作用了。这里的最后变量不是的单一的布尔数组,而是该数组本身。
所以现在你可以指定数组element [0]
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int buttonId) {
answer[0] = true;
}
});
. . .
return answer[0];
最终你能从你的方法中返回它。
2012.11.19 14:54举报| 评论 0 ||
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-04-12
展开全部
想说我对我自己的答案很满意,因为完全是靠我自己找到了一个简单的方法。
但是事实是尽管我发现了返回一个值的方法(就是下边的),但是它不起作用。
真正的问题是我想要一个同步的对话框,对话框在恢复代码之前在dialog.show()之后等待用户来回答
在android中没有这样的beast。所有的对话框都是异步的,所以dialog.show()只是在一些队列中贴了这个对话框然后继续。因此不能及时的得到答案。
对于所有的它的价值(没什么)下面你会在创建一个对话框的方法里面找到怎么设置一个值。也许这种技术还有其他的用途,不仅仅是在对话框的生命周期中。
下边是一些相关信息,如果你用final boolean answer;替换boolean answer;我可能会说:它可能会在监听器里边访问内部变量,但是不可能为它分配一个新值,因为它是已经被声明过了的了。=
这里关键的问题出现了。
定义变量为
但是事实是尽管我发现了返回一个值的方法(就是下边的),但是它不起作用。
真正的问题是我想要一个同步的对话框,对话框在恢复代码之前在dialog.show()之后等待用户来回答
在android中没有这样的beast。所有的对话框都是异步的,所以dialog.show()只是在一些队列中贴了这个对话框然后继续。因此不能及时的得到答案。
对于所有的它的价值(没什么)下面你会在创建一个对话框的方法里面找到怎么设置一个值。也许这种技术还有其他的用途,不仅仅是在对话框的生命周期中。
下边是一些相关信息,如果你用final boolean answer;替换boolean answer;我可能会说:它可能会在监听器里边访问内部变量,但是不可能为它分配一个新值,因为它是已经被声明过了的了。=
这里关键的问题出现了。
定义变量为
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询