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