[英]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.