Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取LayoutInflater Android Java中对象的访问权限_Java_Android - Fatal编程技术网

获取LayoutInflater Android Java中对象的访问权限

获取LayoutInflater Android Java中对象的访问权限,java,android,Java,Android,如何访问扩展到AlertDialog的布局中的调色板,如单选按钮、按钮、文本编辑等 <RadioGroup android:id="@+id/rgSetMap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="30dp" android:orientation="vertical"> &l

如何访问扩展到AlertDialog的布局中的调色板,如单选按钮、按钮、文本编辑等

    <RadioGroup
    android:id="@+id/rgSetMap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="30dp"
    android:orientation="vertical">
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Normal"
        android:id="@+id/rbNormal"
        android:padding="20dp"

        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hybrid"
        android:id="@+id/rbHybrid"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satellite"
        android:id="@+id/rbSat"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Terrain"
        android:id="@+id/rbTer"
        android:padding="20dp"
        />
</RadioGroup>

</LinearLayout>
因为我使用布局来提醒对话框,并尝试了这个

AlertDialog.Builder alertadd = new AlertDialog.Builder(LocateMe.this);
LayoutInflater factory = LayoutInflater.from(LocateMe.this);
View view = factory.inflate(R.layout.popup_layout, null);
RadioGroup rgSetMap = (RadioGroup) view.findViewById(R.id.rgSetMap);
int idRB = rgSetMap.getCheckedRadioButtonId();
final RadioButton rbSet = (RadioButton) view.findViewById(idRB);

alertadd.setView(view);
alertadd.setTitle("Map View Setting");
alertadd.setNeutralButton("OK", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dlg, int sumthin) {
         Log.d("SET", rbSet.getText().toString());
      }
});

alertadd.show();
    <RadioGroup
    android:id="@+id/rgSetMap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="30dp"
    android:orientation="vertical">
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Normal"
        android:id="@+id/rbNormal"
        android:padding="20dp"

        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hybrid"
        android:id="@+id/rbHybrid"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satellite"
        android:id="@+id/rbSat"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Terrain"
        android:id="@+id/rbTer"
        android:padding="20dp"
        />
</RadioGroup>

</LinearLayout>
但它不起作用

    <RadioGroup
    android:id="@+id/rgSetMap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="30dp"
    android:orientation="vertical">
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Normal"
        android:id="@+id/rbNormal"
        android:padding="20dp"

        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hybrid"
        android:id="@+id/rbHybrid"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satellite"
        android:id="@+id/rbSat"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Terrain"
        android:id="@+id/rbTer"
        android:padding="20dp"
        />
</RadioGroup>

</LinearLayout>
这里是布局XML

    <RadioGroup
    android:id="@+id/rgSetMap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="30dp"
    android:orientation="vertical">
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Normal"
        android:id="@+id/rbNormal"
        android:padding="20dp"

        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hybrid"
        android:id="@+id/rbHybrid"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satellite"
        android:id="@+id/rbSat"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Terrain"
        android:id="@+id/rbTer"
        android:padding="20dp"
        />
</RadioGroup>

</LinearLayout>

将您的代码替换为此。从alertadd对话框(而不是从视图)查找视图。这就是它返回空值的原因

    <RadioGroup
    android:id="@+id/rgSetMap"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="30dp"
    android:orientation="vertical">
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Normal"
        android:id="@+id/rbNormal"
        android:padding="20dp"

        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hybrid"
        android:id="@+id/rbHybrid"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satellite"
        android:id="@+id/rbSat"
        android:padding="20dp"
        />
    <RadioButton
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Terrain"
        android:id="@+id/rbTer"
        android:padding="20dp"
        />
</RadioGroup>

</LinearLayout>
        AlertDialog.Builder alertadd = new AlertDialog.Builder(LocateMe.this);
        LayoutInflater factory = LayoutInflater.from(LocateMe.this);
        View view = factory.inflate(R.layout.popup_layout, null);
        alertadd.setView(view);

        final RadioGroup rgSetMap = (RadioGroup) alertadd.findViewById(R.id.rgSetMap);
        final int idRB = rgSetMap.getCheckedRadioButtonId();

        alertadd.setTitle("Map View Setting");
        alertadd.setNeutralButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dlg, int sumthin) {
                View radioButton = rgSetMap.findViewById(idRB);
                int radioId = radioGroup.indexOfChild(radioButton);
                RadioButton btn = (RadioButton) rg1.getChildAt(radioId);
                String selection = (String) btn.getText();
            }
        });

        alertadd.show();