我正在尝试在Android应用的活动的.java中实现CountDownTimer
。这个CountDownTimer
需要能够从用户选择指定的几个不同的预设时间倒计时,我使用sharedPreferences()
解决了这个问题。
为了连接sharedPreferences
和CountDownTimer
的时间,以下是我尝试过的两种方法无效:
1)来自getInt
的{{1}}然后定义一个字符串数组并用sharedPreferences
替换long milliseconds
来自数组的CountDownTimer
值使用long
及其后array[int]
来获取该字符串。
2)使用valueof()
,但由于包含{if(sharedPreferences == 123) {int timing = 5000;}}
值的大括号而失败,因此int timing
无法读取它,因为它位于那对大括号之外包含CountDownTimer
。值得一提的是,不可能将if
移动到大括号中。
很简单,我正在寻找可编辑CountDownTimer
的解决方案。虽然我不是在Stackoverflow上要求完整的教程,但如果你能指出我正确的方向,那就太好了。
答案 0 :(得分:0)
我真的不明白为什么你的方法不起作用,因为我在描述你的代码时遇到了问题。通常,如果在if子句中声明int timing = 0;
,则只能在此if子句中使用它。因此,要在外部提供它,您还需要在那里声明它。
我会从这样的事情开始:
int timing = 0;
switch (sharedPreferences) {
case 123:
timing = 5000;
case 124:
timing = 10000;
case 125:
timing = 15000;
...
default:
timing = 20000;
}
startMyCountdown(timing);