尝试 show/unhide 我的 LinearLayout 时无法调用 setVisibility 方法

Cannot call setVisibility method when trying to show/unhide my LinearLayout

我正在尝试在按下按钮时显示 LinearLayout。我无法调用 menuLayout.setVisibility(menuLayout.VISIBLE) 方法,每次都会出错。它确实要求将其转换为 Kotlin:menuLayout.visibility = menuLayout.VISIBLE 但它仍然不起作用。

ExamActivity.kt

import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.Button
import android.widget.LinearLayout
import kotlinx.android.synthetic.main.activity_exam.*

class ExamActivity : AppCompatActivity() {

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

        val menuLayout: LinearLayout = this.LinearLayoutMenu

        val menuBtn: Button = this.menuBtn

        menuBtn.setOnClickListener {
            menuLayout.visibility = menuLayout.VISIBLE
            menuLayout.setVisibility(menuLayout.VISIBLE)
        }
    }
}

activity_exam.xml

<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".ExamActivity"
        android:background="@color/colorGrayBgd">
    <LinearLayout
            <-- hidden to save time -->
    </LinearLayout>
    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" android:id="@+id/LinearLayoutMenu"
            android:layout_marginHorizontal="24dp"
            android:weightSum="3"
            android:gravity="center" android:visibility="gone" tools:layout_editor_absoluteX="24dp">
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="2"
                android:gravity="center"
                android:weightSum="100">
            <TextView
                    android:text="PAUSED"
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/titleTextView"
                    android:layout_weight="20"
                    android:textSize="46dp"
                    android:gravity="center"/>
            <View
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/separatorView"
                    android:layout_weight="3"
                    android:background="@android:color/black"/>
            <LinearLayout
                    android:orientation="horizontal"
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/LinearLayoutTimeQuestionNumber"
                    android:layout_weight="15">
                <TextView
                        android:text="Time Remaining"
                        android:layout_width="0dp"
                        android:layout_height="match_parent" android:id="@+id/timeTextView" android:layout_weight="1"
                        android:textSize="16dp"
                        android:gravity="center"/>
                <TextView
                        android:text="Questions Remaining"
                        android:layout_width="0dp"
                        android:layout_height="match_parent" android:id="@+id/questionNumberTextView"
                        android:layout_weight="1"
                        android:textSize="16dp"
                        android:gravity="center"/>
            </LinearLayout>
            <Button
                    android:text="Report Question"
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/reportQuestion"
                    android:layout_weight="20"
                    android:textSize="24dp"/>
            <Button
                    android:text="Quit"
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/quitButton"
                    android:layout_weight="20"
                    android:textSize="24dp"/>
            <Button
                    android:text="Resume"
                    android:layout_width="match_parent"
                    android:layout_height="0dp" android:id="@+id/resumeButton"
                    android:layout_weight="20"
                    android:textSize="24dp"/>
        </LinearLayout>
    </LinearLayout>
</android.support.constraint.ConstraintLayout>

我希望 LinearLayoutMenu 设置为可见,但我的代码不起作用。

您有许多不同的布局文件。您必须为您想要的特定布局文件提供一个 ID,我看到您已经这样做了。从父线性布局中删除 android:visiility="gone" 属性。

使用 menuLayout.visibility=View.VISIBLE 可见,menuLayout.visibility=View.GONE 不可见或隐藏