簡體   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