2012-01-24 71 views
0

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

Gaauwe

* 编辑 *

我希望把一个EditText小部件在我的应用程序。 用户将填写一些时间值(例如10:30)。 然后当实时(10:30)出现时,会显示一个对话框。

+0

u能PLZ详细解释,究竟什么ü想要做什么? –

+1

@MAYURBHOLA看到我的编辑。 – Gaauwe

+0

你的意思是,你想要用户输入特定文本的时间? – kosa

回答

0

你可以拉出来的数据中的EditText用:

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

你的问题的其余部分我不明白。

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(); 
     } 
    } 
}); 
+0

是的,我知道如何从edittext获取文本,但我需要知道如何在用户输入时启动对话框。你可以帮我吗? – Gaauwe

+0

谢谢,你了解我。但是我得到了一些错误: – Gaauwe

+0

类型未定义方法getLocalTime()Date – Gaauwe

1

试试这个:
使用该服务:那么当用户输入时间开始服务时系统时间和用户输入的时间匹配节目..

1

这并不难。当用户完成EditText的编辑时,读取时间值并创建AlarmManager的实例,并将开始时间计算为当前时间和用户在EditText中写入的任何值之间的差值。最好使用TimePicker来避免解析用户的输入。为您添加接收器AlarmManager,接收器将启动服务,将显示对话框或做任何你想要的。您需要使用AlarmManager,因为如果您的设备处于休眠状态,则不会唤醒它,除非系统调用如AlarmManager。 @Zortkun的链接文章将帮助你弄清楚如何管理AlarmManager。

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.