Android 용 kotlin의 텍스트보기에서 숫자를 읽으려고하면 모든 일반적인 방법이 앱을 충돌시킵니다.

제인

Android Studio의 Kotlin 텍스트보기에서 10 진수를 읽으려고합니다. 내 코드는 다음과 같습니다.

var time1 = findViewById<TextView>(R.id.time1)
var time1String: String = time1.toString()
var time1Float: Float = time1String.toFloat()
//var Time1Double = java.lang.Double.parseDouble(time1String)
//time1Float = time1Float * 1000
//var time1Long: Long = time1Double.toLong()

3 행에 주석을 달면 코드가 올바르게 실행됩니다. 주석 처리 된 줄의 주석 처리를 제거하면 앱이 컴파일되고 Android VM에로드 된 다음 앱이 실행되는 즉시 충돌이 발생합니다. 주석이 달린 한 정상적으로 실행되지만 의도 한 기능은 없습니다.

위와 같이 코드를 실행할 때 발생하는 오류 :

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 1067
java.lang.NumberFormatException: For input string: "android.support.v7.widget.AppCompatEditText{cf45b9b VFED..CL. .F...... 42,263-592,381 #7f070089 app:id/time1}"
    at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1306)
    at java.lang.Double.parseDouble(Double.java:547)
    at com.example.myapplication.MainActivity$onCreate$9.onClick(MainActivity.kt:149)
    at android.view.View.performClick(View.java:5610)
    at android.view.View$PerformClick.run(View.java:22265)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

애플리케이션이 종료되었습니다.

도움을 주셔서 감사합니다!

나는 p입니다.

이 코드에 대해 이야기 해 봅시다.

var time1 = findViewById<TextView>(R.id.time1)
var time1String: String = time1.toString()

첫 번째 줄은 변수에 a TextView할당합니다 time1. 그러나 두 번째 줄은 해당 뷰에 표시되는 텍스트에 액세스하지 않고 대신 TextView자체를 String. 이 값을 제공하는 로그를 볼 수 있습니다.

"android.support.v7.widget.AppCompatEditText{cf45b9b VFED..CL. .F...... 42,263-592,381 #7f070089 app:id/time1}"

"내부"텍스트를 얻으려면 TextView대신 다음과 같이 작성하십시오.

var time1String = time1.text.toString()

일단 그 자리에 있으면 텍스트를 정상적으로 구문 분석 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관