2012-01-24 89 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.