package com.example.drink_order_system; import android.annotation.SuppressLint; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import androidx.appcompat.app.AppCompatActivity; public class OrderActivity extends AppCompatActivity { private RadioGroup rg_tab_bar; private RadioButton rb_order; private Fragment fg_order; //点餐界面 private Fragment fg_shop; //购物车界面 private FragmentManager fManager; private String userName; private String restaurantName; Bundle bundle = new Bundle(); @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_order); userName = getIntent().getStringExtra("userName"); restaurantName = getIntent().getStringExtra("restaurantName"); bundle.putString("userName", userName); bundle.putString("restaurantName", restaurantName); System.out.println("username in onCreate in OrderActivity: " + userName); fManager = getFragmentManager(); rg_tab_bar = (RadioGroup) findViewById(R.id.rg_tab); rg_tab_bar.setOnCheckedChangeListener(this::onCheckedChanged); //对下方导航栏设置监听,实现界面切换 defaultFragment(); // 将点单界面设为默认界面 } public void onCheckedChanged(RadioGroup group, int checkedId) { //界面切换函数 FragmentTransaction fTransaction = fManager.beginTransaction(); hideAllFragment(fTransaction); //先隐藏所有界面 switch (checkedId){ case R.id.rb_order: if(fg_order==null) { fg_order = OrderFragment.newInstance(restaurantName); fTransaction.add(R.id.ly_content,fg_order); fTransaction.show(fg_order); } else fTransaction.show(fg_order); break; case R.id.rb_shop: if(fg_shop==null) { fg_shop = ShopFragment.newInstance(userName,restaurantName); fTransaction.add(R.id.ly_content,fg_shop); fTransaction.show(fg_shop); } else fTransaction.show(fg_shop); break; } fTransaction.commit(); } public void defaultFragment() { FragmentTransaction fTransaction = fManager.beginTransaction(); fg_order = OrderFragment.newInstance(restaurantName); fTransaction.add(R.id.ly_content, fg_order); fTransaction.show(fg_order); fTransaction.commit(); } private void hideAllFragment(FragmentTransaction fragmentTransaction){ if(fg_order!=null)fragmentTransaction.hide(fg_order); if(fg_shop!=null)fragmentTransaction.hide(fg_shop); } }