gpt4 book ai didi

java - ToggleButton 阻止我的应用程序启动

转载 作者:行者123 更新时间:2023-12-01 21:59:55 24 4
gpt4 key购买 nike

我正在为一个小游戏制作一个计算器,一切正常,直到我添加了一个切换按钮。该应用程序在启动时崩溃,但我找不到任何错误。

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" />
.
.
.

最佳答案

好的,下面这行就说明了这一点:

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

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

试试这个:

int colorOff;
int colorOn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mini_game);
colorOff = getResources().getColor(R.color.toggleOff);
colorOn = getResources().getColor(R.color.toggleOn);
}

让我知道它是否有效

关于java - ToggleButton 阻止我的应用程序启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58712465/

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