如何通过弹出窗口提示用户输入?

时间:2013-12-27 19:09:40

标签: android alertdialog android-dialogfragment

我有一个充满元素的ListView填充屏幕。当我点击一个,我想要一个弹出窗口要求确认(所以一个确定和一个取消按钮),然后方便地关闭对话框并访问用户响应,以便我的主要活动可以做一些事情。我可能希望稍后在对话框中添加额外的输入,因此我可能还需要一种比ok / cancel更复杂的用户响应形式。

这里有很多关于此的问题,但他们都专注于一种特定的方式来做到这一点。我还没有那么远。似乎至少有三种不同的方式可以完成(Dialogs,AlertDialogs和DialogFragments),而且我不确定我是否应该将它们子类化,将它们传递给FragmentManager,使用组合其中,或者将一只羊羔献给波塞冬。

我真的需要一个详细的解释,我尝试了this代码示例但我无法按照我想要的方式工作(无法在其上获得自定义布局 - 我尝试了setView但它没有发生任何事情)

1 个答案:

答案 0 :(得分:0)

我认为你在这里寻找的是一个自定义的Dialog与当前片段/活动和它自己的对话之间的接口的组合。

  1. 创建一个看起来像您喜欢的对话框。 (正如上面的链接所解释的那样)
  2. 然后创建一个接口并声明在对话框中发生事件时要调用的方法(如数据输入等)
  3. 将活动实现为该接口的侦听器,并在调用create-dialog方法时,在参数中传递活动。
  4. 在创建方法中,需要在params(您的活动)
  5. 中传递接口的Listener
  6. 只要在activity.methodOfInterface();
  7. 这样的对话框中调用界面中的任何方法
  8. 如果在activity中正确实现了methodOfInterface(),那么将调用该方法。