gpt4 book ai didi

java - android-radioButton 返回 id

转载 作者:行者123 更新时间:2023-12-01 06:03:40 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个带有 radioGroup 的 fragment ,其中包含三个 radioButton。我为每个 radioButton 设置了一个 ID,单击按钮后我想将选定的 id 传递给 textView。现在它每次都返回值-1,就像没有选择任何按钮一样。为什么它没有返回正确的值?

我的代码:

public class ItemThreeFragment extends Fragment {

TextView testText;
int x;

public static ItemThreeFragment newInstance() {
ItemThreeFragment fragment = new ItemThreeFragment();
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_item_three, container, false);

final int rb1id = 0;
final int rb2id = 1;
final int rb3id = 2;

final RadioGroup rg = (RadioGroup) getActivity().findViewById(R.id.RGroup);
RadioButton rb1 = (RadioButton) getActivity().findViewById(R.id.radioButton);
RadioButton rb2 = (RadioButton) getActivity().findViewById(R.id.radioButton2);
RadioButton rb3 = (RadioButton) getActivity().findViewById(R.id.radioButton3);

rb1.setId(rb1id);
rb2.setId(rb2id);
rb3.setId(rb3id);

Button button = (Button) view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

x = rg.getCheckedRadioButtonId();
testText = getActivity().findViewById(R.id.textView5);
testText.setText(String.valueOf(x));

}
});

return view;
}

}

XML 代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RadioGroup
android:id="@+id/RGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:gravity="center"
android:orientation="horizontal">

<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_marginRight="30dp"
android:layout_toLeftOf="@id/radioButton"
android:text="E5" />

<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:text="E10" />

<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/radioButton"
android:layout_marginLeft="30dp"
android:layout_toEndOf="@+id/radioButton"
android:layout_toRightOf="@id/radioButton"
android:text="Diesel" />
</RadioGroup>


<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView11"
android:layout_centerHorizontal="true"
android:onClick="onClick"
android:text="Button" />

<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_centerHorizontal="true"
android:text="TextView" />

</RelativeLayout>

最佳答案

试试这个...

...

final RadioGroup rg = (RadioGroup) view.findViewById(R.id.RGroup);

RadioButton rb1 = (RadioButton) view.findViewById(R.id.radioButton);
RadioButton rb2 = (RadioButton) view.findViewById(R.id.radioButton2);
RadioButton rb3 = (RadioButton) view.findViewById(R.id.radioButton3);

...

关于java - android-radioButton 返回 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50758975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com