当前位置: 首页 > 知识库问答 >
问题:

RadioGroup onCheckedChangeListener上的错误

卢普松
2023-03-14

我正在创建一个定义对话框片段,里面有一个radioGroup。我在线路上出现了一个错误

rdoGrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
public class layoutChooserFragment extends DialogFragment {
    Context ctx;
    String rdo;
    public layoutChooserFragment(){

    }
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){
        View vi = inflater.inflate(R.layout.layout_picker, container);
        getDialog().setTitle(R.string.txtLayoutChooser);

        final CheckBox cboRemember = (CheckBox)vi.findViewById(R.id.cboRemember);
        RadioGroup rdoGrp = (RadioGroup)vi.findViewById(R.id.rdoGrpPckr);
        final RadioButton rdoGrid = (RadioButton)vi.findViewById(R.id.rdoGrid);
        final RadioButton rdoTab   = (RadioButton)vi.findViewById(R.id.rdoTab);
        rdoGrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                if (rdoTab.isChecked()) {
                    if (cboRemember.isChecked()) {
                        rdo = "tab";
                        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(ctx);
                        SharedPreferences.Editor editor = settings.edit();
                        editor.putString("chosenLayout", rdo);
                        editor.commit();
                        Log.d("tag", "chosenLayout: " + rdo);
                    }
                    Intent i = new Intent(ctx, MainActivity.class);
                    startActivity(i);
                } else if (rdoGrid.isChecked()) {
                    if (cboRemember.isChecked()) {
                        Intent i = new Intent(ctx, main2.class);
                        startActivity(i);
                        rdo = "grid";
                        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(ctx);
                        SharedPreferences.Editor editor = settings.edit();
                        editor.putString("chosenLayout", rdo);
                        editor.commit();
                        Log.d("tag", "chosenLayout: " + rdo);
                    }
                    Intent i = new Intent(ctx, servicesGridStyle.class);
                    startActivity(i);
                }
            }
        });
        //dlg.show();
        return vi;

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

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/rdoGrpPckr">

    <RadioButton
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/txtTab"
        android:id="@+id/rdoTab"
        android:textSize="29sp" />

    <RadioButton
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/txtGrid"
        android:id="@+id/rdoGrid"
        android:textSize="29sp" />
</RadioGroup>

<CheckBox
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/txtRememberChoice"
    android:id="@+id/cboRemember"
    android:textSize="20sp" />
</LinearLayout>

共有1个答案

锺离飞尘
2023-03-14

你必须使用

rdoGrp.setOnCheckedChangeListener(new OnCheckedChangeListener() {}

而不是

rdoGrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {}
 类似资料:
  • 我犯了错误: 有人有什么想法吗?多谢!

  • 突然间,我们得到了以下错误: 在当前版本和其他应用程序版本中,一切都运行得很好,但这个问题现在针对所有应用程序版本。 我们使用25.3.1支持库版本和11.0.2 play services版本。 奇怪的事实: 如果使用新的/sandbox firebase数据库,工作完全按照预期进行。 更多日志11-04 17:37:35.560 157 70-15784/com.nobroker.app d/

  • 问题内容: 无论我使用什么 “ CV_FOURCC”, 我都会得到: OpenCV错误:CvVideoWriter_GStreamer :: open中不支持的格式或格式组合(Gstreamer Opencv后端不完全支持此编解码器。),文件/usr/src/packages/BUILD/OpenCV-2.2.0/modules/highgui/src/ cap_gstreamer.cpp,第48

  • 我在glvertexattributepointer上出错,可能是因为该值或任何(?)有人知道如何解决这个问题吗?

  • 我想把一些数据存储到sqlite数据库中,但是在我的DBHandler和DBGen类中发生了错误,我无法找到这个错误,我想存储用户名,密码,确认密码,手机号码和电子邮件ID。 启动活性 下面是LogCat特定的问题代码 12-31 12:09:17.749:E/AndroidRuntime(962):java.lang.nullPointerException 12-31 12:09:17.749

  • 我对控制器执行下列操作: 在我的新视图上,我有以下代码: 我还有一个这样的银行响应视图: 但我的新观点总是有错误500。 谢谢你的帮助 更新 - 铁路服务器 multi JSON::load error at/bank _ response/ffgs 1d 79 aatc = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =