如何在另一个片段中添加底部导航栏



我已经在我的项目中添加了一个底部导航栏,其中包含3个片段(Home_fragment、Wallet_fragment和Account_fragment(。我在Account_fragment中添加了登录按钮。现在我想,当我点击登录按钮login_flage(在login_flag之后(打开底部导航栏时。

我附上了一个视频链接显示我的问题。链接--https://cloud.degoo.com/share/o41Axz4FYFHBx7

这是代码--

主活动---

BottomNavigationView bottomNavigationView = findViewById(R.id.main_nav);
bottomNavigationView.setOnNavigationItemSelectedListener(navListener);
getSupportFragmentManager().beginTransaction().replace(R.id.main_frame_layout, new HomeFragment()).commit();
}

BottomNavigationView.OnNavigationItemSelectedListener navListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
Fragment selecrFlag = null;
switch (menuItem.getItemId())
{
case R.id.nav_home:
selecrFlag = new HomeFragment();
break;
case R.id.nav_wallet:
selecrFlag = new WalletFragment();
break;
case R.id.nav_Account:
selecrFlag = new AccountFragment();
break;

}
getSupportFragmentManager().beginTransaction().replace(R.id.main_frame_layout, selecrFlag).commit();
return true;

}

};
};

账户碎片---

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_account, container, false);
EmailID = v.findViewById(R.id.editTextEmail);
Passwd = v.findViewById(R.id.editPassword);
SignUpBt = v.findViewById(R.id.signbutton);
LoginBt = v.findViewById(R.id.loginbutton);
LoginBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(AccountFragment.this.getContext(),AfterLogin.class));
}
});

登录后片段--

package com.thechamp.earnbyads;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class AfterLogin extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_after_login);

}
}

看起来你很困惑。你移动到另一个屏幕的方式不是碎片。它是活动。有很多方法可以解决这个问题。

  1. 您可以将AfterLogin更改为Fragment
  2. 或者将AfterLogin活动实现为您在具有这3个片段的当前活动中实现的活动

最新更新