-3
ラジオボタンの3つのラジオボタンを持つアラートダイアログを用意して、それぞれラジオボタンの単純な表示ではなくイメージを持つようにしたい私のmainActivity。私はselected_userをmainActivityに戻すことができないという点を除いて、すべて正常に動作します。私はたくさん検索しましたが、解決策を見つけることができませんでした。私はAndroidで新しく、助けてください。Android - AlertDialogでRadioButtonsの代わりに画像を使用する方法
mainActivity.java:
myImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myAlert alert = new myAlert(this, value);//I use this value to check the item that was chosen in mainActivity before calling AlertDialog
alert.show();
}
});
myAlert.java:
public class myAlert extends Dialog implements View.OnClickListener {
Context context;
String value;
RadioButton rb1, rb2, rb3;
RadioGroup rg;
public myAlert(@NonNull Context context, String value)
{
super(context);
this.context = context;
this.value = value;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alert);
rb1 = (RadioButton)findViewById(R.id.rb1);
rb2 = (RadioButton)findViewById(R.id.rb2);
rb3 = (RadioButton)findViewById(R.id.rb3);
if(value.equals("car"))
rb1.setChecked(true);
else if(value.equals("bus"))
rb2.setChecked(true);
else
rb3.setChecked(true);
rb1.setOnClickListener(this);
rb2.setOnClickListener(this);
rb3.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
int selectId=rg.getCheckedRadioButtonId();
RadioButton selected = (RadioButton)findViewById(selectId);
String selected_user = selected.getText().toString();
dismiss();
}}
alert.xml:
<RadioButton
android:id="@+id/rb1"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/draw"
android:button="@null"
android:drawableBottom="@drawable/ib_rb1_alert"
/>
<RadioButton
android:id="@+id/rb3"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/draw"
android:button="@null"
android:drawableBottom="@drawable/ib_rb3_alert" />
<RadioButton
android:id="@+id/rb2"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/draw"
android:button="@null"
android:drawableBottom="@drawable/ib_rb2_alert" />