Android Studio中如何在主Activity添加按钮跳转至其他主Activity?
Android 按钮跳转至不同Activity的当前可行实现方法
步骤1:确认目标Activity已在清单文件注册
首先要保证你的两个图表展示Activity已经在AndroidManifest.xml中注册,新Android Studio版本创建Activity时会自动添加,手动创建的话需补上:
<activity android:name=".ChartActivity1" android:exported="false" /> <activity android:name=".ChartActivity2" android:exported="false" />
exported="false"表示仅内部跳转,符合你的需求。
步骤2:在主页面布局添加按钮
打开主页面布局文件(比如activity_main.xml),添加两个按钮并设置唯一ID:
<Button android:id="@+id/btn_chart1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查看图表1" /> <Button android:id="@+id/btn_chart2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查看图表2" />
步骤3:在主Activity绑定点击事件并实现跳转
根据你使用的语言选择对应代码:
Java版本
import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 获取按钮实例 Button btnChart1 = findViewById(R.id.btn_chart1); Button btnChart2 = findViewById(R.id.btn_chart2); // 绑定图表1跳转事件 btnChart1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, ChartActivity1.class); startActivity(intent); } }); // 绑定图表2跳转事件 btnChart2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, ChartActivity2.class); startActivity(intent); } }); } }
Kotlin版本
import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // 获取按钮实例 val btnChart1 = findViewById<Button>(R.id.btn_chart1) val btnChart2 = findViewById<Button>(R.id.btn_chart2) // 绑定图表1跳转事件 btnChart1.setOnClickListener { startActivity(Intent(this, ChartActivity1::class.java)) } // 绑定图表2跳转事件 btnChart2.setOnClickListener { startActivity(Intent(this, ChartActivity2::class.java)) } } }
注意事项
- 确保
ChartActivity1、ChartActivity2的类名和AndroidManifest.xml中注册的完全一致,大小写、包名都不能出错 - 新项目默认使用AndroidX,Activity要继承
AppCompatActivity,不要使用旧的Activity类 - 如果需要给图表页面传递数据,可以在Intent中添加
putExtra("键名", 数据),目标Activity通过intent.getXXXExtra("键名")获取(比如getStringExtra、getIntExtra等)
内容的提问来源于stack exchange,提问作者Michael Bradley
相关产品推荐
相关产品推荐

