ToggleButton阻止我的应用启动

我正在为迷你游戏制作计算器,直到我添加了toggleButton之前,一切正常。该应用程序在启动时崩溃,但是我找不到任何错误。

JAVA代码:

.
.
.    
    int colorOff = getResources().getcolor(R.color.toggleOff);
    int colorOn = getResources().getcolor(R.color.toggleon);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_balot_calculator); }

//This method is supposed to change the color of the toggle button when it is checked and not checked.
    public void seraA(View view) {
        ToggleButton seraToggle = (ToggleButton) findViewById(R.id.sera_toggle);
            if (seraToggle.isChecked()) {
                seraToggle.setBackgroundColor(colorOn); }
            else
                seraToggle.setBackgroundColor(colorOff);
    }
.
.
.

XML代码:

.
.
.
<ToggleButton
    android:id="@+id/sera_toggle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginHorizontal="8dp"
    android:layout_marginVertical="4dp"
    android:onClick="seraA"
    android:textOn="@string/sera_T"
    android:textOff="@string/sera_T"
    android:textColor="#E0F7FA"
    android:textSize="20sp" />
.
.
.
style221 回答:ToggleButton阻止我的应用启动

好的,因此以下行将其删除:

原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ android.content.res.Resources android.content.Context.getResources()”

我假设在调用getResources()时未初始化您的类

尝试以下方法:

graphql-resolve-batch

让我知道它是否有效

,

我通过删除变量colorOncolorOff来解决它。看起来几乎一样,但是可以这样工作。

    //int colorOff = getResources().getColor(R.color.toggleOff);
    //int colorOn = getResources().getColor(R.color.toggleOn);

    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mini_game);
        }

//This method is supposed to change the color of the toggle button when it is checked and not checked.

    public void seraA(View view) {
        ToggleButton seraToggle = (ToggleButton) findViewById(R.id.sera_toggle);
        if (seraToggle.isChecked()) {
            seraToggle.setBackgroundColor(getResources().getColor(R.color.toggleOn));
        } else
            seraToggle.setBackgroundColor(getResources().getColor(R.color.toggleOff));
    }
本文链接:https://www.f2er.com/3159227.html

大家都在问