Преобразование чисел из десятичного в двоичное - PullRequest
0 голосов
/ 11 января 2020

Не судите строго. Недавно я начал изучать kotlin, и это мой первый проект.

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.EditText
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

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

    button1.setOnClickListener {
        val t1:EditText=findViewById(R.id.editText1)
        var p:Int=Integer.parseInt(t1.getText().toString())
        var f:String=""
        while (p != 0)
            p = p / 2
            f += p % 2
        f = f.reversed()
        val h = f.toIntOrNull()
        editText2.setText(h!!)
        }
    }
}

Он выскальзывает, когда я нажимаю на кнопку с этой ошибкой

E / AndroidRuntime: FATAL EXCEPTION : main Процесс: com.example.myapplication, PID: 6833 android .content.res.Resources $ NotFoundException: строковый идентификатор ресурса # 0x0 в android .content.res.Resources.getText (Resources. java: 351 ) в android .content.res.MiuiResources.getText (MiuiResources. java: 97) в android .widget.TextView.setText (TextView. java: 4562) в com.example.myapplication.MainActivity $ onCreate $ 1.onClick (MainActivity.kt: 23) в android .view.View.performClick (просмотр. java: 5647) в android .view.View $ PerformClick.run (просмотр. java: 22465 ) в android .os.Handler.handleCallback (Обработчик. java: 754)

1 Ответ

1 голос
/ 11 января 2020

добро пожаловать в Stack Overflow и в мир Android / Kotlin!

Проблема здесь в том, что вы вызываете TextView # setText с целым числом. В мире android это используется для передачи ссылок на ресурсы в строку типа android.R.string.ok, поэтому вы пытаетесь использовать ресурс, который не определен. Чтобы это работало, вам нужно передать f в setText: editText2.setText(f) Кроме того, как было сказано Дж.Б. Низетом в комментарии, вы пропустили скобки после оператора while

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...