gpt4 book ai didi

android - 如何在AlertDialog android中获取RadioGroup的选定索引

转载 作者:行者123 更新时间:2023-11-30 02:35:34 25 4
gpt4 key购买 nike

我正在做一个应用程序,它根据按下的按钮改变背景颜色,但我遇到了一个问题。我想要做的是在我的 AlertDialog 上的 RadioGroup 中获取选定的颜色,我尝试了很多方法但我无法获取它,我找不到类似的答案。

public void alertDialogColors()
{

final View toDisplayInDialog = getLayoutInflater().inflate(R.layout.radiogroup, null);

AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
builder2.setView(toDisplayInDialog);
builder2.setMessage("Choose Startup Color");
builder2.setPositiveButton("Set Startup Color", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

RadioGroup myRadioGroup = (RadioGroup)toDisplayInDialog.findViewById(R.id.RadioGroup);
int radioGroupId = myRadioGroup.getCheckedRadioButtonId();
RadioButton myCheckedButton = (RadioButton)toDisplayInDialog.findViewById(radioGroupId);
int index = myRadioGroup.indexOfChild(myCheckedButton);

switch(index)
{
case 0:
saveColors(KEY_COLOR, Color.WHITE);
break;

case 1:
saveColors(KEY_COLOR, Color.BLACK);
break;

case 2:
saveColors(KEY_COLOR, Color.RED);
break;

case 3:
saveColors(KEY_COLOR, Color.YELLOW);
break;

case 4:
saveColors(KEY_COLOR, Color.GREEN);
break;

}

}
})

.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
})
.create()
.show();
}

最佳答案

试试这个..

    public void saveButtons(String temp, boolean bool)
{
SharedPreferences.Editor ed = myPrefs.edit();
ed.putBoolean(temp, bool);
ed.commit();
}

//Alert Dialog Colors
public void alertDialogColors()
{

final View toDisplayInDialog = getLayoutInflater().inflate(R.layout.radiogroup, null);
final RadioGroup myRadioGroup = (RadioGroup)toDisplayInDialog.findViewById(R.id.RadioGroup);
RadioButton checkRadioButton = (RadioButton) myRadioGroup.getChildAt(indexCheckRadioButton);
checkRadioButton.setChecked(true);

AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
builder2.setView(toDisplayInDialog);
builder2.setMessage("Choose Startup Color");
builder2.setPositiveButton("Set Startup Color", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

int radioGroupId = myRadioGroup.getCheckedRadioButtonId();
RadioButton myCheckedButton = (RadioButton)toDisplayInDialog.findViewById(radioGroupId);
int index = myRadioGroup.indexOfChild(myCheckedButton);
indexCheckRadioButton = index;

switch(index)
{
case 0:
saveColors(KEY_COLOR, Color.WHITE);
saveRadioButton(KEY_RADIOBUTTON, indexCheckRadioButton);
break;

case 1:
saveColors(KEY_COLOR, Color.BLACK);
saveRadioButton(KEY_RADIOBUTTON, indexCheckRadioButton);
break;

case 2:
saveColors(KEY_COLOR, Color.RED);
saveRadioButton(KEY_RADIOBUTTON, indexCheckRadioButton);
break;

case 3:
saveColors(KEY_COLOR, Color.YELLOW);
saveRadioButton(KEY_RADIOBUTTON, indexCheckRadioButton);
break;

case 4:
saveColors(KEY_COLOR, Color.GREEN);
saveRadioButton(KEY_RADIOBUTTON, indexCheckRadioButton);
break;

}
}
})

.setNegativeButton("Cancel", null)
.create()
.show();
}


public void saveRadioButton(String temp3, int color2)
{
SharedPreferences.Editor ed3 = myPrefs.edit();
ed3.putInt(temp3, color2);
ed3.commit();
}

关于android - 如何在AlertDialog android中获取RadioGroup的选定索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26619830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com