Android Studio中实现按钮点击打开对应Activity应使用什么方法?
问题原因
你当前的实现逻辑错误,setContentView() 仅会替换当前Activity加载的布局文件,不会启动新的Activity。同时你仅为第一个按钮绑定了点击事件,剩余3个按钮没有配置跳转逻辑,另外需要提前确认你要跳转的四个目标Activity均已在AndroidManifest.xml中完成注册。
修复后的 MainActivity2.java 代码
package com.example.serenityapplication; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity2 extends AppCompatActivity { // 声明四个按钮变量 Button sleepBtn, stressBtn, calmBtn, quoteBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); // 绑定布局中的四个按钮控件 sleepBtn = findViewById(R.id.button); stressBtn = findViewById(R.id.button1); calmBtn = findViewById(R.id.button2); quoteBtn = findViewById(R.id.button3); // Sleep按钮跳转逻辑,替换为你项目中对应Sleep页面的Activity类名 sleepBtn.setOnClickListener(v -> { Intent intent = new Intent(MainActivity2.this, SleepActivity.class); startActivity(intent); }); // Stress Reliever按钮跳转逻辑 stressBtn.setOnClickListener(v -> { Intent intent = new Intent(MainActivity2.this, StressActivity.class); startActivity(intent); }); // Calm按钮跳转逻辑,替换为你项目中对应Calm页面的Activity类名 calmBtn.setOnClickListener(v -> { Intent intent = new Intent(MainActivity2.this, CalmActivity.class); startActivity(intent); }); // Motivational Quotes按钮跳转逻辑,替换为你项目中对应名言页面的Activity类名 quoteBtn.setOnClickListener(v -> { Intent intent = new Intent(MainActivity2.this, QuoteActivity.class); startActivity(intent); }); } }
额外配置要求
所有要跳转的目标Activity必须在项目的AndroidManifest.xml中添加注册声明,示例如下:
<activity android:name=".SleepActivity" android:exported="false" /> <!-- 剩余三个Activity参照上述格式依次添加即可 -->
内容的提问来源于stack exchange,提问作者Saint Blue
相关产品推荐
相关产品推荐

