gpt4 book ai didi

java - 如何使用底部导航 Activity 更改 fragment ?

转载 作者:IT老高 更新时间:2023-10-28 23:39:06 27 4
gpt4 key购买 nike

我用“底部导航 Activity ”创建了一个新项目:

enter image description here

这是生成的代码:

package com.aaron.waller.mrpolitik;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

private TextView mTextMessage;

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
mTextMessage.setText(R.string.title_home);
case R.id.navigation_dashboard:
mTextMessage.setText(R.string.title_dashboard);
case R.id.navigation_notifications:
mTextMessage.setText(R.string.title_notifications);
}
return true;
}

};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mTextMessage = (TextView) findViewById(R.id.message);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}

}

如何使用底部栏更改为新的 fragment ?例如,我有 3 个 fragment : fragment 1 fragment 2 和 fragment 3我想用底部栏中的 3 个按钮更改它们。另外我希望我可以通过左右滑动手指来切换 fragment 我该怎么做?

最佳答案

我的做法是,我首先添加三个与此类似的方法(每个方法用于单个 fragment 。将布局名称和 fragment 对象替换为正在切换到的相应 fragment ):

public void switchToFragment1() {
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction().replace(R.id.your_fragment_layout_name, new Fragment1()).commit();
}

所以你的 switch 语句最终看起来像这样:

        switch (item.getItemId()) {
case R.id.navigation_home:
mTextMessage.setText(R.string.title_home);
switchToFragment1();
break;

case R.id.navigation_dashboard:
mTextMessage.setText(R.string.title_dashboard);
switchToFragment2();
break;

case R.id.navigation_notifications:
mTextMessage.setText(R.string.title_notifications);
switchToFragment3();
break;
}

至于通过向两侧滑动来切换 fragment ,我相信你需要一个ViewPager .

关于java - 如何使用底部导航 Activity 更改 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43104485/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com