将RadioGroup添加到Android中的AlertDialog

时间:2012-04-16 13:07:00

标签: android alertdialog radio-group

我需要将一个radiogroup添加到AlertDialog,所以我写下面的代码:

AlertDialog.Builder screenDialog = new AlertDialog.Builder(this);
screenDialog.setTitle("Captured Screen");

RadioGroup azione = (RadioGroup) findViewById(R.id.azione_stop);

LinearLayout dialogLayout = new LinearLayout(getApplicationContext());
dialogLayout.setOrientation(LinearLayout.VERTICAL);
dialogLayout.addView(azione);
screenDialog.setView(dialogLayout);
screenDialog.show();

这是包含RadioGroup的xml:

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/azione_stop"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <RadioButton
        android:id="@+id/ritornare"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:textColor="#000000"
        android:text="Ritornare" />
    <RadioButton
        android:id="@+id/chiudi"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#
        android:text="Chiudi chiamata" />
    <RadioButton
        android:id="@+id/offerta"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
    android:text="Segna offerta" />

当我打开alertdialog时,我收到一个错误(java.lang.NullPointerException),其中RadioGroup被添加到LinearLayout。 我能怎么做? 谢谢,马蒂亚

1 个答案:

答案 0 :(得分:1)

RadioGroup azione = (RadioGroup) screenDialog.findViewById(R.id.azione_stop);

screenDialog.setContentView(R.layout.YOURXML);

AlertDialog screenDialog = new AlertDialog.Builder(this).create();
screenDialog.setTitle("Captured Screen");
screenDialog.setContentView(R.layout.YOURXMLLAYOUT);

RadioGroup azione = (RadioGroup) findViewById(R.id.azione_stop);

screenDialog.show();