按钮中的文字不显示

Text in button is not displayed

这是class

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
        }

试试这个:

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)

试试这个

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"

工具是开发用的,文字是你要设置的属性,看app什么时候建的。

<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
        }
    }

你的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"/>