繁体   English   中英

Android-获取EditText并显示对话框

[英]Android - Get EditText and show dialog

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

Gaauwe

* 编辑 *

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

尝试这个 :
使用服务:然后在系统时间和用户输入的时间与显示匹配时,当用户输入时间时启动服务。

那不是太困难。 当用户完成对EditText的编辑后,读取时间值并创建AlarmManager实例,其起始时间计算为当前时间与用户在EditText中写入的时间之差。 最好使用TimePicker以避免解析用户的输入。 为您添加AlarmManager的接收器,接收器将启动Service,该服务将显示对话框或您想要执行的任何操作。 您需要使用AlarmManager,因为如果您的设备处于睡眠状态,则除了AlarmManager之类的系统调用外,其他都不会唤醒它。 @Zortkun的链接链接将帮助您弄清楚如何管理AlarmManager。

您可以使用以下方法将数据从EditText中拉出:

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

您不知道的其余问题。

原始方式!

因此,当用户将文本放入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();
      }   
   }
});

我会努力了解...

知道如何从EditText中提取文本后,您将需要一个if语句。

可以将该时间与当前时间进行比较的内容。

        if (editTime == realTime) {

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

}

使用这样的东西:

阅读本文以了解如何获取当前时间的字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM