diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java index a042e7aaaf..be46ded8a1 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java @@ -467,7 +467,7 @@ public final class SettingsAdapter extends RecyclerView.Adapter getSelectedValue = null; + if (item instanceof SingleChoiceSetting) + { + SingleChoiceSetting setting = (SingleChoiceSetting) item; + menuTag = setting.getMenuTag(); + getSelectedValue = setting::getSelectedValue; + } + else if (item instanceof StringSingleChoiceSetting) + { + StringSingleChoiceSetting setting = (StringSingleChoiceSetting) item; + menuTag = setting.getMenuTag(); + getSelectedValue = setting::getSelectedValueIndex; + } + + if (menuTag != null) + { + mBinding.buttonMoreSettings.setVisibility(View.VISIBLE); + + final MenuTag finalMenuTag = menuTag; + final Function finalGetSelectedValue = getSelectedValue; + mBinding.buttonMoreSettings.setOnClickListener((view) -> + adapter.handleMenuTag(finalMenuTag, finalGetSelectedValue.apply(settings))); + } + else + { + mBinding.buttonMoreSettings.setVisibility(View.GONE); + } + setStyle(mBinding.textSettingName, mItem); } diff --git a/Source/Android/app/src/main/res/layout-ldrtl/list_item_setting.xml b/Source/Android/app/src/main/res/layout-ldrtl/list_item_setting.xml new file mode 100644 index 0000000000..8e923c4bd8 --- /dev/null +++ b/Source/Android/app/src/main/res/layout-ldrtl/list_item_setting.xml @@ -0,0 +1,57 @@ + + + + + + + +