diff --git a/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java b/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java index b751a31e..2a3d8569 100644 --- a/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java +++ b/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java @@ -9,6 +9,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.RelativeLayout; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -573,12 +574,20 @@ public class GameMenu implements MenuCallback, View.OnClickListener { dialog.show(); } if (v == addButton) { - EditViewDialog dialog = new EditViewDialog(getActivity(), new ControlButtonData(UUID.randomUUID().toString()), this, view -> viewManager.addView(view)); - dialog.show(); + if (getViewGroup() == null) { + Toast.makeText(getActivity(), getActivity().getString(R.string.edit_view_no_group), Toast.LENGTH_SHORT).show(); + } else { + EditViewDialog dialog = new EditViewDialog(getActivity(), new ControlButtonData(UUID.randomUUID().toString()), this, view -> viewManager.addView(view)); + dialog.show(); + } } if (v == addDirection) { - EditViewDialog dialog = new EditViewDialog(getActivity(), new ControlDirectionData(UUID.randomUUID().toString()), this, view -> viewManager.addView(view)); - dialog.show(); + if (getViewGroup() == null) { + Toast.makeText(getActivity(), getActivity().getString(R.string.edit_view_no_group), Toast.LENGTH_SHORT).show(); + } else { + EditViewDialog dialog = new EditViewDialog(getActivity(), new ControlDirectionData(UUID.randomUUID().toString()), this, view -> viewManager.addView(view)); + dialog.show(); + } } if (v == manageButtonStyle) { ButtonStyleDialog dialog = new ButtonStyleDialog(getActivity(), false, null, null); diff --git a/FCL/src/main/java/com/tungsten/fcl/control/view/ViewManager.java b/FCL/src/main/java/com/tungsten/fcl/control/view/ViewManager.java index 05bbc516..d20ca20b 100644 --- a/FCL/src/main/java/com/tungsten/fcl/control/view/ViewManager.java +++ b/FCL/src/main/java/com/tungsten/fcl/control/view/ViewManager.java @@ -1,7 +1,9 @@ package com.tungsten.fcl.control.view; import android.view.View; +import android.widget.Toast; +import com.tungsten.fcl.R; import com.tungsten.fcl.control.GameMenu; import com.tungsten.fcl.control.data.ControlButtonData; import com.tungsten.fcl.control.data.ControlDirectionData; @@ -35,14 +37,18 @@ public class ViewManager { } public void addView(CustomControl control) { - if (gameMenu.getViewGroup() != null && gameMenu.isEditMode()) { - if (control instanceof ControlButtonData) { - gameMenu.getViewGroup().getViewData().addButton((ControlButtonData) control); + if (gameMenu.isEditMode()) { + if (gameMenu.getViewGroup() != null) { + if (control instanceof ControlButtonData) { + gameMenu.getViewGroup().getViewData().addButton((ControlButtonData) control); + } else { + gameMenu.getViewGroup().getViewData().addDirection((ControlDirectionData) control); + } + saveController(); + loadView(control, true); } else { - gameMenu.getViewGroup().getViewData().addDirection((ControlDirectionData) control); + Toast.makeText(gameMenu.getActivity(), gameMenu.getActivity().getString(R.string.edit_view_no_group), Toast.LENGTH_SHORT).show(); } - saveController(); - loadView(control, true); } } diff --git a/FCL/src/main/res/values-zh/strings.xml b/FCL/src/main/res/values-zh/strings.xml index 1806ed55..e49bce03 100644 --- a/FCL/src/main/res/values-zh/strings.xml +++ b/FCL/src/main/res/values-zh/strings.xml @@ -109,6 +109,7 @@ 控件事件 控件基本信息 + 请先添加或选择一个控件组! 控件样式 编辑按键 diff --git a/FCL/src/main/res/values/strings.xml b/FCL/src/main/res/values/strings.xml index 978de848..75625ef4 100644 --- a/FCL/src/main/res/values/strings.xml +++ b/FCL/src/main/res/values/strings.xml @@ -120,6 +120,7 @@ View Event Base View Info + Please add or select a view group first! View Style Edit Button