我正在开发游戏。游戏中有一张积分表。每个游戏都有七个等级。我想将点位表当前级别移到下一级别。由于该点表具有默认布局,因此每次创建游戏片段都会以其默认布局加载点表。
//GameFragment
public class GameFragment extends BaseFragment {
private PointTable mPointTable;
public FrameLayout frameLayout2,frameLayout3,frameLayout4;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
container.removeAllViews();
ViewGroup view =(ViewGroup)
inflater.inflate(R.layout.game_fragment,container,false);
view.setClipChildren(false);
mPointTable=PointTable.fromXml(getActivity().getApplicationContext(),view);
frameLayout3=view.findViewById(R.id.point_container);
frameLayout3.addView(mPointTable);
return view;
}
//
//Point Table Layout
<?xml version="1.0" encoding="utf-8"?>
<com.test.PointTable
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:point="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#dced1e79"
tools:context=".MainActivity">
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.test.PointTable
android:id="@+id/point_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#dced1e79"
point:above_point_color="@android:color/white"
point:blow_point_color="@android:color/white"
/>
</FrameLayout>
</com.test.PointTable>
//
//Nextsection event
@Override
public void onEvent(NextSectionEvent event){
PopupManager.closePopup();
int difficulty=mPlayingGame.boardConfiguration.diffuculty;
int remainPoint=mPlayingGame.gameState.remainedMoney;
if (remainPoint>0 && difficulty<8) {
difficulty++;
Common.eventBus.notify(new StartEvent(difficulty, remainPoint));
mBtnFirst = true;
}
//
//StartEvent event
@Override
public void onEvent(StartEvent event)
{
mPlayingGame=new Game();
mPlayingGame.boardConfiguration= new BoardConfiguration(event.difficulty);
remainPoint=event.remainPoint;
arrangeBoard(remainPoint);
mScreenController.openScreen(new GameFragment());
}
第一节末
第二部分
尽管我将每个游戏参数分配给下一节比赛,每个下一节比赛都会重置积分表。实际上它需要参数,但是片段的第一个视图带有默认的点表布局。
感谢您的帮助,包括方法上的改变。
答案 0 :(得分:0)
您需要为框架布局提供ID,并在下一个fragmemt上采用另一种框架布局,并通过此代码将您的第一个布局替换为第二个布局
Student_Attandance_Fragment student_attandance_fragment = new Student_Attandance_Fragment();
FragmentTransaction fragmentTransaction = getActivity()。getSupportFragmentManager()。beginTransaction();
fragmentTransaction.replace(R.id.container_Student_home_id,student_attandance_fragment).addToBackStack(“”)。commit();