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