Android - 获取EditText并显示对话框

时间:2012-01-24 15:47:22

标签: android dialog android-edittext

我希望我的应用程序可以从EditText小部件获得用户输入的时间(HH:mm)。 根据此时间值,我的应用程序需要在当前时间与输入时间匹配时显示对话框。

Gaauwe

*的 修改 *

我想在我的应用中放置一个EditText小部件。 用户将用一些时间值(例如10:30)填充它。 然后当实时(10:30)出现时,将显示一个对话框。

6 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

试试这个:
使用服务:当用户输入时间时,系统时间和用户输入的时间与节目匹配时启动服务..

答案 2 :(得分:1)

这并不太难。当用户完成编辑EditText时,读取时间值并创建AlarmManager实例,其开始时间计算为当前时间与EditText中写入的任何用户之间的差异。最好使用TimePicker来避免解析用户的输入。为您添加接收器AlarmManager,接收器将启动服务,该服务将显示对话框或执行您想要的任何操作。您需要使用AlarmManager,因为如果您的设备处于休眠状态,除了像AlarmManager这样的系统调用之外,什么都不会将其唤醒。 @Zortkun的帖子带有链接,可以帮助你弄清楚如何管理AlarmManager。

答案 3 :(得分:0)

您可以使用以下命令从EditText中提取数据:

findViewById(R.id.yourEditText).getText().toString();

你的其余问题我不明白。

答案 4 :(得分:0)

RAW WAY!

因此,当用户将文本放在edittext中并单击按钮时,您可以这样保存文本:

String time = findViewById(R.id.yourEditText).getText().toString();

并启动一个检查时间的线程,当时间等于用户的字符串时间时,您可以显示一个对话框:)

Thread t = new Thread(new Runnable(){
   public void run(){
      while(new Date().getLocalTime()!=usersTime){ // is just pseudocode
          Dialog.show();
      }   
   }
});

答案 5 :(得分:0)

我会试着理解......

看到你知道如何从EditText中提取文本,你需要一个if语句。

将该时间与当前时间进行比较的东西。

        if (editTime == realTime) {

    Toast.makeText(getApplicationContext(), "RING RING RING",
                            Toast.LENGTH_SHORT).show();

}

使用类似的东西:

Read this to figure out how to get a string of current time.