Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将单选按钮转换为单击按钮_Java_Android_Button_Radio Button_Onclicklistener - Fatal编程技术网

Java 如何将单选按钮转换为单击按钮

Java 如何将单选按钮转换为单击按钮,java,android,button,radio-button,onclicklistener,Java,Android,Button,Radio Button,Onclicklistener,在我的应用程序中,我有一个更改主题的按钮。我有三个不同的主题。我发现github中有一段代码对我来说非常完美,但在这段代码中使用单选按钮来更改主题。我不想使用单选按钮,用户应该看到不同的主题,每次他点击主题按钮。所以我检查了互联网上是否有将单选按钮转换为clickListener的示例,但我找不到任何示例 public void showDialog(View view) { final Dialog dialog = new Dialog(this); dialog

在我的应用程序中,我有一个更改主题的按钮。我有三个不同的主题。我发现github中有一段代码对我来说非常完美,但在这段代码中使用单选按钮来更改主题。我不想使用单选按钮,用户应该看到不同的主题,每次他点击主题按钮。所以我检查了互联网上是否有将单选按钮转换为clickListener的示例,但我找不到任何示例

public void showDialog(View view) {
       final Dialog dialog = new Dialog(this);
       dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
       dialog.setCancelable(false);
       dialog.setContentView(R.layout.dialog);
       dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

       RadioGroup radioGroup = dialog.findViewById(R.id.radioGroup);
       Button submitBtn = dialog.findViewById(R.id.submit);
       Button cancelBtn = dialog.findViewById(R.id.cancel);

       radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
           @Override
           public void onCheckedChanged(RadioGroup radioGroup, int itemChecked) {
               switch (itemChecked) {
                   case R.id.themeBlue:
                       editor.putInt("theme", R.style.BlueTheme);
                       editor.apply();
                       break;
                   case R.id.themeOrange:
                       editor.putInt("theme", R.style.OrangeTheme);
                       editor.apply();
                       break;
                   case R.id.themeGreen:
                       editor.putInt("theme", R.style.DefaultTheme);
                       editor.apply();
                       break;
               }
           }
       });

       submitBtn.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               dialog.dismiss();
               recreate();
           }
       });

       cancelBtn.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               dialog.cancel();
           }
       });
       dialog.show();
   }
   
这是上面的代码


这是我的。你能帮帮我吗?

为什么你实现的setOnChangeListener不能满足你的需要?它完全满足我的需要,但我不想在我的应用程序中弹出窗口。我想如果主题会随着每一个按钮的点击而改变,那么应用程序看起来会更好。单选按钮没有弹出窗口,听起来好像你不想要对话框窗口,而想要在布局中显示按钮是的,对不起,我说的弹出窗口是指对话框。我有声音,振动和主题按钮。声音和振动按钮正常。一次按下打开声音,另一次按下关闭声音。我想和主题也一样,一个媒体会在没有对话的情况下改变主题,另一个媒体得到第二个主题,第三个媒体得到第三个主题。我知道这并不难,但我没有这方面的经验。从昨晚开始,我尝试了所有的方法,但什么都没有得到。如果你不需要对话框窗口,它可以是一个显示广播组的活动或片段布局吗?
        themeButton = findViewById(R.id.themeButton);
        themeButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                
            }
        });