You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中按钮预览可见但构建后消失问题求助

问题:第二个Activity按钮预览可见但运行后消失

我的第二个Activity里有个按钮,在activity_2.xml的预览中能正常显示,但切换到该Activity后,按钮彻底消失——既看不到也点不了,其他功能都正常。
使用环境:Android Studio 2022.3.1、Kotlin,所有Activity都是“Empty Activity”模板创建。

布局文件预览

activity_main.xml

activity_main.xml预览

activity_2.xml

activity_2.xml预览

代码实现

MainActivity.kt

class MainActivity : ComponentActivity() {

    var btGoto: Button? = null
    var etText: EditText? = null

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

        btGoto = findViewById(R.id.bt_goTo)
        etText = findViewById(R.id.et_text)
        listener()
    }

    private fun listener() {
        btGoto?.setOnClickListener {

            if (etText!!.length() < 1)
                Toast.makeText(this, "This field can't be empty", Toast.LENGTH_LONG).show()
            else{
                val goToA2Intent = Intent(this, Activity2::class.java)
                goToA2Intent.putExtra("text", etText!!.text.toString())
                startActivity(goToA2Intent)
            }

        }
    }
}

Activity2.kt

class Activity2 : ComponentActivity() {

    var text: String? = ""
    var tvText: TextView? = null
    var btBack: Button? = null

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

        btBack = findViewById(R.id.bt_back)
        tvText = findViewById(R.id.tv_text)
        text = intent.getStringExtra("text").toString()
        tvText?.setText(text)
        listener()
    }

    private fun listener(){
        btBack?.setOnClickListener{
            var backToMainAIntent = Intent(this, MainActivity::class.java)
            startActivity(backToMainAIntent)
        }
    }
}

排查解决步骤

  • 检查布局约束与层级:打开activity_2.xml,确认按钮没有被其他控件完全覆盖,约束没有把它定位到屏幕外。比如给按钮添加明确的上下左右边距,或调整layout_constraint参数,确保它处于可见区域内。
  • 核对控件ID:确认activity_2.xml中按钮的ID是bt_back,和Activity2.kt里findViewById的调用完全匹配,注意大小写和拼写。
  • 排查主题样式:查看应用主题文件(如themes.xml),确认没有给按钮设置android:visibility="gone"、透明背景这类隐藏属性,可临时给按钮设置红色背景测试是否显示。
  • 验证布局加载:确认Activity2的onCreate方法里确实加载了activity_2.xml,没有误加载其他布局。
  • 用Layout Inspector调试:运行应用切换到Activity2,打开Android Studio的Tools > Layout Inspector,查看按钮是否在视图树中,以及它的位置、可见性参数,定位具体问题。

内容的提问来源于stack exchange,提问作者Arash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:30:14