private long START_TIME_IN_MILLIS;
private long TimeLeftInMillis = START_TIME_IN_MILLIS;
我已经声明了这些变量,这意味着存储来自EditText的输入,但在我的OnCreateView
中,我有这行
START_TIME_IN_MILLIS = edtInsertTime.getText();
但它给了我一个错误,我如何得到以毫秒为单位的时间输入并将其存储在START_TIME_IN_MILLIS
中?
你没有发布你收到的错误,这将是有帮助的,因为它可能有一百种原因。
看看这段代码,你有一个类型为long的变量(这是一个数字类型),你从edtInsetTime.getText()中得到了什么?,类型"可编辑";根据文档,您不能将Editable对象存储在长变量中。
https://developer.android.com/reference/android/widget/EditText
public Editable getText ()
Returns Editable - The text displayed by the text view.
要从中获得长值,首先需要从这个EditText中获得一个String,然后将其转换为长格式,然后将其分配给变量。
示例代码为。
START_TIME_IN_MILLIS = Long.valueOf(edtInsertTime.getText().toString());
打破它
String text = edtInsertTime.getText().toString()返回edittext
的String值。然后该值可以通过使用
等方法将String解析为long来转换为长值。Long.parseLong(text)
或
Long.valueOf(text)
问这个问题意味着你对java中的类型是如何工作的没有基本的了解,所以请随意阅读https://www.baeldung.com/java-primitives