[英]How to check if something is true for a user defined (EditText) amount of time?
我正在尝试在 Android (Java) 中实现一个 function,它让用户在EditText
中输入一个int
并以秒为单位使用该Specific int
的值来确定该语句在那么多秒内是否为真并返回结果,否则,重新开始检查以查看条件是否在用户定义的秒数内为真。
我一直在尝试这样的事情
//Under MainActivity
public double userDefined = Double.parseDouble(editText.getText().toString()); //Returns Null Pointer Error?
//Function in MainActivity
private Runnable Condition = new Runnable() {
private boolean killed = false;
boolean flag = true;
public void run() {
while (!killed) {
try {
if (valueA < valueB) {
while (flag) {
TimeUnit.SECONDS.sleep((long) userDefined);
if ((valueB < valueA)) {
/* Do stuff */
flag = false;
}
}
}
catch(InterruptedException ex){
killed = true;
}
}
}
}
}
// Not sure if done here need to return stuff done...
null 指针异常是因为布局还没有膨胀。
解决:
所有组件都应在 oncreate() 方法中的 setContextView(R.Layout....) 之后使用/初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.