0

RadioGroupというダイアログを作成したいと思います。ダイアログを開くときにアプリがクラッシュし、アラートダイアログが表示されません。私はRadioGroupとの対話を作成する方法です:

private void showRadioButtonDialog() { 

    final Dialog dialog = new Dialog(GenerateRaportActivity.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.radiobutton_dialog); 
    List<String> stringList = new ArrayList<>(); 
    for (int i = 0; i < 5; i++) { 
     stringList.add("RadioButton " + (i + 1)); 
    } 
    RadioGroup rg = (RadioGroup) dialog.findViewById(R.id.radio_group); 

    for (int i = 0; i < stringList.size(); i++) { 
     RadioButton rb = new RadioButton(GenerateRaportActivity.this); 
     rb.setText(stringList.get(i)); 
     rg.addView(rb); 
    } 
    dialog.show(); 
} 

をそして私は、私がこれを参照してください。このダイアログを表示しようとすると:

FATAL EXCEPTION: main 

Process: com.maps, PID: 901 
android.content.res.Resources$NotFoundException: File res/drawable/abc_btn_radio_material.xml from drawable resource ID #0x7f020018 
    at android.content.res.Resources.loadDrawable(Resources.java:3443) 
    at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
    at android.widget.CompoundButton.<init>(CompoundButton.java:78) 
    at android.widget.RadioButton.<init>(RadioButton.java:63) 
    at android.widget.RadioButton.<init>(RadioButton.java:59) 
    at android.widget.RadioButton.<init>(RadioButton.java:55) 
    at com.smok.maps.Activity.GenerateRaportActivity.showRadioButtonDialog(GenerateRaportActivity.java:162) 
    at com.smok.maps.Activity.GenerateRaportActivity.access$000(GenerateRaportActivity.java:31) 
    at com.smok.maps.Activity.GenerateRaportActivity$1.onClick(GenerateRaportActivity.java:86) 
    at android.view.View.performClick(View.java:4640) 
    at android.view.View$PerformClick.run(View.java:19425) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5593) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 

レイアウトファイル:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <RadioGroup  
     android:id="@+id/radio_group" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_vertical" 
     android:orientation="vertical">  
    </RadioGroup> 

</LinearLayout> 
+0

「abc _btn_radio_material' drawable –

+0

あなたのレイアウトファイルも表示してください。 – DkThakur

+0

@PawełOこのコードに問題はありません。私はチェックしました。うまくいきます。 – DkThakur

答えて

3

のためにこれを使用してみてください例:

RadioGroup dynamicRadiogroup = new RadioGroup(MainActivity.this); 
RadioButton radiobutton1 = new RadioButton(MainActivity.this); 
RadioButton radiobutton2 = new RadioButton(MainActivity.this); 
RadioButton radiobutton3 = new RadioButton(MainActivity.this); 
RelativeLayout relativelayout = 
        (RelativeLayout)findViewById(R.id.relativelayout1); 

radiobutton1.setText("Android"); 
radiobutton2.setText("PHP"); 
radiobutton3.setText("WordPress"); 

dynamicRadiogroup.addView(radiobutton1); 
dynamicRadiogroup.addView(radiobutton2); 
dynamicRadiogroup.addView(radiobutton3); 

RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams 
(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
dynamicRadiogroup.setLayoutParams(layoutparams); 
relativelayout.addView(dynamicRadiogroup); 
関連する問題