我有一个自定义DialogPreference
子类,我想在其中RadioGroup
包含三个单选按钮。前两个是RadioButton
带有标题的普通组件,但对于第三个,我想EditText
直接在其右侧放置一个,以便在选择该按钮时输入自定义值。
我曾尝试将第三个按钮与第三个按钮一起放入水平位置LinearLayout
,EditText
但随后第三个按钮不再参与父RadioGroup
级。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RadioGroup
android:id="@+id/lactate_radio"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/lactate_default_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lactate_default_value"/>
<RadioButton
android:id="@+id/lactate_calibrated_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lactate_calibrated_value" />
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/lactate_custom_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lactate_custom_value"/>
<EditText
android:id="@+id/lactate_custom_value_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</RadioGroup>
</LinearLayout>
我也尝试过LinearLayout
以编程方式添加它,但仍然有相同的行为。有什么办法可以做到这一点,也许是通过明确告诉父母RadioGroup
第三个按钮或以某种方式EditText
适当地定位而不使用水平LinearLayout
?否则,我想我将不得不编写一个RadioButton
应该是一个真正的聚会的子类!