android - 如何在按钮单击时打开底部导航活动?
问题描述
我试图让我的应用在按钮单击时打开底部导航活动。
这里我的主要活动有按钮,底部导航活动是我的第二个活动。
我的代码中没有显示错误,但是每当我运行我的应用程序时,它都会在单击按钮时崩溃。
尝试制定开始活动的意图。
主要活动代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
private Button b1;
public void buttonOnClick(View view){
Intent intent=new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}
导航活动代码:
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
BottomNavigationView navView = findViewById(R.id.nav_view);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);
}
}
解决方案
尝试这个
public class MainActivity extends AppCompatActivity {
private Button b1;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.b1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);
}
});
} }
还像这样在 AndroidManifest.xml 文件中添加您的 MainActivity 和 MainActivity2
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity2"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"></activity>
</application>
推荐阅读
- admob - 可以使用实时 Admob 代码在测试设备上运行 Admob 广告吗?
- unity3d - 当我打开口型同步选项卡时,Unity 检查器 GUI 坏了
- c++ - 如何使用 Boost MSM 检索包含状态机
- javascript - 编译失败:找不到模块
- logging - Athena 经典负载均衡器日志
- sql - Oracle - to_date() 解析为 00:00:00
- php - response()->json 无法在 Laravel 中解码
- jquery - 在每个按键事件上,我都是验证文本框值并附加错误消息
- c# - 在 C# 中将 HierarchyId 转换为十六进制字符串,获取 CSV 导出的原始(“表示”)值
- angularjs - 在Angular的选择菜单中更改初始空白选项的文本