2016-12-14 64 views
1

我想在通知中顯示此函數的結果。將字符串值轉換爲charsequence並顯示在android的通知中

public class TimerService extends Service { 
    public String timeString; 
... // service methodd 
public class CountingDownTimer extends CountDownTimer{ 
      public CountingDownTimer(long millisInFuture, long countDownInterval) { 
      super(millisInFuture, countDownInterval); 
     } 

     @Override 
     public void onTick(long leftTimeInMilliseconds) { 

      timeString = String.format("%02d", 5000/ 60) 
        + ":" + String.format("%02d", 5000% 60); 
       ... 
     } 
...// at the end of TimerService class 
        notification = new NotificationCompat.Builder(this) 
        .setContentText(timeString).build(); 

但不幸的是,通知中沒有顯示任何內容(null)。我能做什麼?如何將字符串值轉換爲字符序列?

+0

已更新ans ........ – siva35

回答

1

我收到了類似的問題。你應該創建新的方法並將通知放入其中。

private void setupNotification(String s) {} 

最重要的是,你應該從CountingDownTimer發送timestringsetupNotification。所以像這樣做:

public class CountingDownTimer extends CountDownTimer{ 
    public String timeString=null; 

     public CountingDownTimer(long millisInFuture, long countDownInterval) { 
     super(millisInFuture, countDownInterval); 
    } 

    @Override 
    public void onTick(long leftTimeInMilliseconds) { 
     timeString = String.format("%02d", 5000/ 60) 
       + ":" + String.format("%02d", 5000% 60); 
     setupNotification(timeString); 

    } 

private void setupNotification(String s) { 
    notification = new NotificationCompat.Builder(this) 
       .setContentText(s) 
} 

我希望它的作品!

+0

謝謝!你的答案正在起作用。 – Migitanar

0
String s="STR"; 
CharSequence cs = s; // String is already a CharSequence 

,所以你只是傳遞timeStringsetContentText

編輯:

看來你CountingDownTimerstarts之前調用notification.setContentText()。

呼叫notificationOnFinish()

public CountingDownTimer(long millisInFuture, long countDownInterval) { 
     @Override 
     public void onTick(long l) { 
      timeString = String.format("%02d", l/60) 
        + ":" + String.format("%02d", l % 60); 

     // Add Here 
     notification = new NotificationCompat.Builder(this) 
          .setContentText(timeString).build(); 

     } 

     @Override 
     public void onFinish() { 

     } 
    }.start(); 

這裏通知倒計時後設置完成

+0

我更新我的問題併發布一些詳細信息。請你檢查一下。 – Migitanar

+0

哦不!我想在計數過程中通知櫃檯。 – Migitanar