Текст в кнопке не отображается - PullRequest
0 голосов
/ 27 сентября 2019

Это класс

data class Crime(
val id:UUID=UUID.randomUUID(),
var title:String="",
var date: Date= Date(),
var isSolved:Boolean=false)

Я хочу отображать текущую дату в виде текста в кнопке. (Ниже приведен макет для кнопки)

<Button
    android:id="@+id/crime_date"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:text="Wed Nov 14 11:56 EST 2018"/>

Это .ktкод для установки текста в кнопке

crime_date?.apply {
            text = crime.date.toString()
            isEnabled = false
        }

Ответы [ 4 ]

0 голосов
/ 27 сентября 2019

в вашем XML есть ошибка исправить это

 <Button
        android:id="@+id/crime_date"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Wed Nov 14 11:56 EST 2018"/>
0 голосов
/ 27 сентября 2019

Попробуйте это

crime_date?.apply {
        val crime = Crime()
        text = crime.date.toString()
        isEnabled = false
    }

В вашем Button удалить

tools:text="Wed Nov 14 11:56 EST 2018"

с

android:text="Wed Nov 14 11:56 EST 2018"
0 голосов
/ 27 сентября 2019

Инструменты предназначены только для разработки, текст - это свойство, которое вы хотите установить, чтобы увидеть, когда приложение собирается.

<Button
    android:id="@+id/crime_date"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:text="Wed Nov 14 11:56 EST 2018"/>

должно быть

<Button
    android:id="@+id/crime_date"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Wed Nov 14 11:56 EST 2018"/>

Проверьте, неперед установкой в ​​приложении укажите текст свойства, как, например,

var text = ""
crime_date?.apply {
            text = crime.date.toString()
            isEnabled = false
        }

, попробуйте, если работает

crime_date?.text = "data" 

, если он работает, проблема в файле crime.date.toString () часть, попробуйте отладку с точками останова, чтобы проверить значения.

Редактировать:

Если код вызывается из фрагмента, убедитесь, что он вызывается в или после onViewCreated, например:

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        crime_date?.apply {
            text = crime.date.toString()
            isEnabled = false
        }
    }
0 голосов
/ 27 сентября 2019

Попробуйте это:

val sdf = SimpleDateFormat("dd/MM/yyyy hh:mm:ss")   
val currentDate = sdf.format(Date())
crime_date.text = currentDate
System.out.println("Current DATE is  "+currentDate)
...