我添加了这个Radio Group,带有radioButtons,尽管现在我发现我的整个Radio Group为空?一个非常有趣的事情是,当我在API为22的设备上运行它时,我的应用程序未检测到此错误,但是当我在28API仿真器上重新运行它时,此错误确实出现了。
 这是代码:

radioGroup = findViewById(R.id.radioGroup2);
    Rd1= findViewById(R.id.radioButton5);
    Rd2= findViewById(R.id.radioButton6);
    radioGroup.setOnCheckedChangeListener( new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (Rd1.isChecked()) {
                attemptLogin();
                Intent intent = new Intent(LoginActivity.this, BottomActivity.class);
                startActivity(intent);
            }else {
                if(Rd2.isChecked()) {
                    attemptLogin();
                    Intent intent = new Intent(LoginActivity.this, LoginActivity2.class);
                    startActivity(intent);
                }
            }

        }
    } );


这是XML代码,我尝试将RadioGroup视图添加到我的Login Activity中,以将两个按钮都放置在彼此上方,尽管一旦执行此操作,我便立即收到此错误。

<RadioGroup
            android:id="@+id/radioGroup2"
            android:layout_width="361dp"
            android:layout_height="125dp"
            android:layout_gravity="bottom"
            android:background="@color/licolor"
            android:gravity="center"
            android:layout_marginTop="20dp"
            android:orientation="vertical"
            tools:ignore="UselessParent">

            <RadioButton
                android:id="@+id/radioButton5"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_marginTop="16dp"
                android:background="@drawable/mybutton"
                android:gravity="center"
                android:text="@string/register"
                android:textColor="#fafafa"
                android:textStyle="bold"
                android:textSize="19sp"
                android:button="@null"/>

            <RadioButton
                android:id="@+id/radioButton6"
                android:layout_width="match_parent"
                android:layout_height="45dp"
                android:layout_marginTop="16dp"
                android:background="@drawable/mybutton"
                android:gravity="center"
                android:text="@string/login"
                android:textColor="#fafafa"
                android:textStyle="bold"
                android:textSize="19sp"
                android:button="@null"/>

        </RadioGroup>


并出现以下错误:

Attempt to invoke virtual method 'void android.widget.RadioGroup.setOnCheckedChangeListener(android.widget.RadioGroup$OnCheckedChangeListener)' on a null object reference

最佳答案

您的RadioGroup的ID =“ radioGroup2”

android:id="@+id/radioGroup2"


在代码中,您正在尝试找到“ radioGroup”

radioGroup = findViewById( R.id.radioGroup );


只需将其更改为:

radioGroup = findViewById( R.id.radioGroup2 );

关于java - 尝试在空对象引用Radio组上调用虚拟方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55032364/

10-12 04:40