kotlin을 사용하여 개발 된 Android 애플리케이션의 레이아웃 문제 및 버그

제프리 청

어제 kotlin에 들어가서 Android 스튜디오 3.0 Canary 2, JRE 1.8.0을 사용하여 기본 계산기를 만들려고했습니다. 안타깝게도 애플리케이션을 휴대폰에 설치하면 아래 이미지와 다르게 나타납니다.

내 휴대 전화의 Kotlin 계산기

내 안드로이드 스튜디오에서 디자인은 이렇게

안드로이드 스튜디오의 kotlin 계산기

다음은 내 XML입니다.

 <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.jeffrey.kotlincalculator.MainActivity">

    <EditText
        android:id="@+id/editText_num1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:hint="Input Number 1"
        tools:layout_editor_absoluteX="40dp"
        tools:layout_editor_absoluteY="27dp" />

    <EditText
        android:id="@+id/editText_num2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:hint="Input Number 2"
        tools:layout_editor_absoluteX="40dp"
        tools:layout_editor_absoluteY="92dp" />

    <TextView
        android:id="@+id/textview_result"
        android:layout_width="345dp"
        android:layout_height="39dp"
        android:text="Result"
        android:textAppearance="@android:style/TextAppearance"
        android:textAlignment="center"
        tools:ignore="MissingConstraints"
        tools:layout_editor_absoluteY="159dp"
        tools:layout_editor_absoluteX="20dp" />

    <Button
        android:id="@+id/button_add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="48dp"
        android:text="+"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:layout_editor_absoluteY="219dp" />

    <Button
        android:id="@+id/button_minus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-"
        tools:layout_editor_absoluteY="291dp"
        tools:layout_editor_absoluteX="48dp" />

    <Button
        android:id="@+id/button_multiple"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="*"
        tools:layout_editor_absoluteX="266dp"
        tools:layout_editor_absoluteY="219dp" />

    <Button
        android:id="@+id/button_divide"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="/"
        tools:layout_editor_absoluteX="266dp"
        tools:layout_editor_absoluteY="291dp" />
</android.support.constraint.ConstraintLayout>

두 번째 문제가 있지만

숫자 필드에 숫자를 입력하려고했는데 + (추가) 버튼을 클릭하면 즉시 충돌이 발생합니다.

오류는 다음과 같습니다.

FATAL EXCEPTION: main
  Process: com.example.jeffrey.kotlincalculator, PID: 20432
  java.lang.NumberFormatException: Invalid int: ""
      at java.lang.Integer.invalidInt(Integer.java:138)
      at java.lang.Integer.parseInt(Integer.java:358)
      at java.lang.Integer.parseInt(Integer.java:334)
      at com.example.jeffrey.kotlincalculator.MainActivity.getNum1(MainActivity.kt:42)
      at com.example.jeffrey.kotlincalculator.MainActivity$onCreate$1.onClick(MainActivity.kt:24)
      at android.view.View.performClick(View.java:5207)
      at android.view.View$PerformClick.run(View.java:21177)
      at android.os.Handler.handleCallback(Handler.java:739)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:148)
      at android.app.ActivityThread.main(ActivityThread.java:5438)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)

INT가 오류임을 분명히 보여줍니다.

다음은 내 MainActivity 코드입니다.

package com.example.jeffrey.kotlincalculator

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val result = findViewById(R.id.textview_result) as TextView
        val button_add = findViewById(R.id.button_add) as Button
        val button_minus = findViewById(R.id.button_minus) as Button
        val button_multiple = findViewById(R.id.button_multiple) as Button
        val button_divide = findViewById(R.id.button_divide) as Button

        button_add.setOnClickListener(View.OnClickListener{
            view -> result.text = (getNum1() + getNum2()).toString()
        })

        button_minus.setOnClickListener(View.OnClickListener{
            view -> result.text = (getNum1() - getNum2()).toString()
        })

        button_multiple.setOnClickListener(View.OnClickListener{
            view -> result.text = (getNum1() * getNum2()).toString()
        })

        button_divide.setOnClickListener(View.OnClickListener{
            view -> result.text = (getNum1() / getNum2()).toString()
        })
    }

    fun getNum1(): Int{
        val input_num1 = findViewById(R.id.editText_num1) as EditText;
        return Integer.parseInt(input_num1.text.toString());
    }

    fun getNum2(): Int{
        val input_num2 = findViewById(R.id.editText_num2) as EditText;
        return Integer.parseInt(input_num2.text.toString());
    }
}

전화에서 검색 한 String의 parseInt가 오류 인 것으로 밝혀졌습니다. 도와주세요:)

인공위성

XML에는 tools:layout_editor_absoluteX="40dp" tools:layout_editor_absoluteY="92dp"이러한 제약 조건이 디자이너 창에만 적용된다는 것을 의미하는 요소가 있습니다. 다음은 Constraint 레이아웃 사용 방법을 이해하는 데 도움이 될 수있는 교육입니다. https://developer.android.com/training/constraint-layout/index.html

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android Wear 애플리케이션 용 UI 레이아웃을 개발하는 방법

분류에서Dev

WAMP 서버를 사용하여 개발 된 PHP 애플리케이션의 빌드 팩 설정 실패

분류에서Dev

Android에서 애플리케이션의 릴리스 및 디버그 버전. 두 개의 인증서

분류에서Dev

상대적 및 선형 레이아웃을 사용하여 세로에서 가로로 전환하는 동안 문제를 일으키는 Android 레이아웃

분류에서Dev

Microsoft Edge 용으로 구성된 Visual Studio 2019로 디버깅 할 때 ASP.NET Core 애플리케이션 디버그 및 개발?

분류에서Dev

기기의 Android Studio 디버그가 애플리케이션 목록에 2 개의 애플리케이션 아이콘을 만듭니다.

분류에서Dev

요소에서 정의 된 높이 (vh)를 사용할 때 Boostrap 그리드, 오버플로 스크롤 및 반응 형 레이아웃 문제

분류에서Dev

Nativescript를 사용하여 애플리케이션의 디버그 및 릴리스 버전을 관리하는 모범 사례?

분류에서Dev

크기 클래스 및 자동 레이아웃을 사용하여 Xib에서 가로로 정렬 된 두 개의 UI 버튼을 정렬하는 방법

분류에서Dev

Cordova 플러그인을 사용하여 AndroidManifest.xml의 애플리케이션 태그에 android : name 추가

분류에서Dev

Cordova 플러그인을 사용하여 AndroidManifest.xml의 애플리케이션 태그에 android : name 추가

분류에서Dev

두 개의 스프링 애플리케이션, 둘 다 특정 jar 및 애플리케이션 컨텍스트를 사용합니다. 컨텍스트에서 Bean을 가져 오는 애플리케이션을 어떻게 제어합니까?

분류에서Dev

kotlin 및 React Native 애플리케이션으로 작성된 Android 네이티브 애플리케이션

분류에서Dev

Android / IOS 애플리케이션 개발을 위해 알아야 할 사항

분류에서Dev

xamarin.android 애플리케이션을 디버그하려고 할 때 항상 "애플리케이션 중단 모드"오류가 발생합니다.

분류에서Dev

레이아웃 XML에서 Include 지시문을 사용하여 정의 된 버튼의 리소스 ID

분류에서Dev

Android 애플리케이션 : 서버 콘텐츠의 잘못된 문자 집합

분류에서Dev

Android 애플리케이션 : 서버 콘텐츠의 잘못된 문자 집합

분류에서Dev

디버그에서 애플리케이션 실행 및 URL을 사용하여 중단 점 적중

분류에서Dev

Android 애플리케이션의 레이아웃 배경색을 kotlin과 비교

분류에서Dev

select 문을 실행하도록 거부 된 select 쿼리 권한 실행과 관련된 Zend 애플리케이션 마이그레이션 문제

분류에서Dev

Android 애플리케이션을 라이브러리로 변환하는 동안 발생하는 문제

분류에서Dev

Android : if else 문을 사용하는 퀴즈 애플리케이션

분류에서Dev

Sublime Text 2를 사용하여 Android 용 Phonegap 애플리케이션 개발

분류에서Dev

"이 애플리케이션은 백그라운드 스레드에서 자동 레이아웃 엔진을 수정하고 있습니다. 이로 인해 엔진 손상 및 이상한 충돌이 발생할 수 있습니다 ...."

분류에서Dev

"프로그램 및 기능"제어판에 애플리케이션 버전을 표시하지 않음

분류에서Dev

Android Scrollview 및 레이아웃 문제

분류에서Dev

Android에서 예약 된 애플리케이션 개발

분류에서Dev

REST를 사용한 SAAS 및 애플리케이션 개발

Related 관련 기사

  1. 1

    Android Wear 애플리케이션 용 UI 레이아웃을 개발하는 방법

  2. 2

    WAMP 서버를 사용하여 개발 된 PHP 애플리케이션의 빌드 팩 설정 실패

  3. 3

    Android에서 애플리케이션의 릴리스 및 디버그 버전. 두 개의 인증서

  4. 4

    상대적 및 선형 레이아웃을 사용하여 세로에서 가로로 전환하는 동안 문제를 일으키는 Android 레이아웃

  5. 5

    Microsoft Edge 용으로 구성된 Visual Studio 2019로 디버깅 할 때 ASP.NET Core 애플리케이션 디버그 및 개발?

  6. 6

    기기의 Android Studio 디버그가 애플리케이션 목록에 2 개의 애플리케이션 아이콘을 만듭니다.

  7. 7

    요소에서 정의 된 높이 (vh)를 사용할 때 Boostrap 그리드, 오버플로 스크롤 및 반응 형 레이아웃 문제

  8. 8

    Nativescript를 사용하여 애플리케이션의 디버그 및 릴리스 버전을 관리하는 모범 사례?

  9. 9

    크기 클래스 및 자동 레이아웃을 사용하여 Xib에서 가로로 정렬 된 두 개의 UI 버튼을 정렬하는 방법

  10. 10

    Cordova 플러그인을 사용하여 AndroidManifest.xml의 애플리케이션 태그에 android : name 추가

  11. 11

    Cordova 플러그인을 사용하여 AndroidManifest.xml의 애플리케이션 태그에 android : name 추가

  12. 12

    두 개의 스프링 애플리케이션, 둘 다 특정 jar 및 애플리케이션 컨텍스트를 사용합니다. 컨텍스트에서 Bean을 가져 오는 애플리케이션을 어떻게 제어합니까?

  13. 13

    kotlin 및 React Native 애플리케이션으로 작성된 Android 네이티브 애플리케이션

  14. 14

    Android / IOS 애플리케이션 개발을 위해 알아야 할 사항

  15. 15

    xamarin.android 애플리케이션을 디버그하려고 할 때 항상 "애플리케이션 중단 모드"오류가 발생합니다.

  16. 16

    레이아웃 XML에서 Include 지시문을 사용하여 정의 된 버튼의 리소스 ID

  17. 17

    Android 애플리케이션 : 서버 콘텐츠의 잘못된 문자 집합

  18. 18

    Android 애플리케이션 : 서버 콘텐츠의 잘못된 문자 집합

  19. 19

    디버그에서 애플리케이션 실행 및 URL을 사용하여 중단 점 적중

  20. 20

    Android 애플리케이션의 레이아웃 배경색을 kotlin과 비교

  21. 21

    select 문을 실행하도록 거부 된 select 쿼리 권한 실행과 관련된 Zend 애플리케이션 마이그레이션 문제

  22. 22

    Android 애플리케이션을 라이브러리로 변환하는 동안 발생하는 문제

  23. 23

    Android : if else 문을 사용하는 퀴즈 애플리케이션

  24. 24

    Sublime Text 2를 사용하여 Android 용 Phonegap 애플리케이션 개발

  25. 25

    "이 애플리케이션은 백그라운드 스레드에서 자동 레이아웃 엔진을 수정하고 있습니다. 이로 인해 엔진 손상 및 이상한 충돌이 발생할 수 있습니다 ...."

  26. 26

    "프로그램 및 기능"제어판에 애플리케이션 버전을 표시하지 않음

  27. 27

    Android Scrollview 및 레이아웃 문제

  28. 28

    Android에서 예약 된 애플리케이션 개발

  29. 29

    REST를 사용한 SAAS 및 애플리케이션 개발

뜨겁다태그

보관