@solarLi

В чём может быть причина не запуска Android приложения (код см. в деталях)?

Есть код на kotlin. Сообщений об ошибках нет, но приложение не запускается. В чём может быть проблема?

import android.os.Bundle
import android.widget.*
import androidx.appcompat.app.AppCompatActivity


class MainActivity : AppCompatActivity() {

    // получаем элемент ListView
    var plantsList: ListView? = null

    // получаем ресурсы
    //растения
    var plants = resources.getStringArray(R.array.plants)
    //список для удаления
    var selectedPlants = resources.getStringArray(R.array.selectedPlants)

    // создаем адаптер
    var adapter: ArrayAdapter<String>? = null

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

        plantsList = findViewById(R.id.plantsList)
        adapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, plants)

        // устанавливаем для списка адаптер
        plantsList!!.adapter = adapter

        // добвляем для списка слушатель
        plantsList!!.onItemClickListener = AdapterView.OnItemClickListener { parent, v, position, id ->
            // получаем нажатый элемент
            var  phone = adapter!!.getItem(position);
            if(plantsList!!.isItemChecked(position)==true){
                add(selectedPlants)
            }
            else{

                remove(selectedPlants)
            }

        }
    }

    fun add(view: Array<String>) {
        val plantEditText = findViewById<EditText>(R.id.plant)
        val plant = plantEditText.text.toString()
        if (!plant.isEmpty() && plants.contains(plant) == false) {
            adapter!!.add(plant)
            plantEditText.setText("")
            adapter!!.notifyDataSetChanged()
        }
    }


    fun remove(view: Array<String>) {
        // получаем и удаляем выделенные элементы
        for (i in selectedPlants.indices) {
            adapter!!.remove(selectedPlants.get(i))
        }
        // снимаем все ранее установленные отметки
        plantsList!!.clearChoices()
        // очищаем массив выбраных объектов
        selectedPlants.isEmpty()
        adapter!!.notifyDataSetChanged()
    }

}
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WaterSmith
Android-разработчик. Java, Kotlin
Например в манифесте, или не хватает ресурсов, или где-то опечатка.
Где нет ошибок? На устройстве или в логах?
На устройстве их быть и не должно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы