首页 > 解决方案 > 如何将单选按钮转换为单击按钮

问题描述

在我的应用程序中,我有一个用于更改主题的按钮。我有 3 个不同的主题。我在 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();
   }
   

这是github上的代码

        themeButton = findViewById(R.id.themeButton);
        themeButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                
            }
        });

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

标签: javaandroidbuttonradio-buttononclicklistener

解决方案


推荐阅读