gpt4 book ai didi

java - Android 在 Button.setEnabled(false) 上崩溃

转载 作者:行者123 更新时间:2023-12-01 10:58:35 26 4
gpt4 key购买 nike

好吧,我终于找到了问题的根源。经过一系列测试并尝试不同的东西后,我注意到在输入代码后

button1.setEnabled(false);
button2.setEnabled(false);
button3.setEnabled(false);
button4.setEnabled(false);

在onCreateView中,启动时会崩溃。这是我的 menu1_Fragment.java 中的,是我的第一个 fragment 。在我的类里面,我首先定义我的按钮。

Button button1;
Button button2;
Button button3;
Button button4;

然后我在 onCreateView 中做的第一件事是运行函数 setButton();

    public void setButton() {
button1 = (Button) rootview.findViewById(R.id.upgbutton);
button2 = (Button) rootview.findViewById(R.id.upgbutton1);
button3 = (Button) rootview.findViewById(R.id.upgbutton2);
button4 = (Button) rootview.findViewById(R.id.upgbutton3);
}

这里发生的情况是,这些按钮实际上位于我的 menu2_layout.xml 中,这是我的第二个 fragment ,但我的 rootview 允许我找到它。然后,在我在下面定义按钮后,我将所有按钮设置为 false,如第一段代码所示,因为我还不希望用户单击按钮。这是我发现它在启动时崩溃的地方。这是我的按钮的代码。

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="4">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_state2_xml"
android:id="@+id/upgbutton"
android:layout_gravity="center_horizontal" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_state3_xml"
android:id="@+id/upgbutton1"
android:layout_gravity="center_horizontal" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_state4_xml"
android:id="@+id/upgbutton2"
android:layout_gravity="center_horizontal" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_state5_xml"
android:id="@+id/upgbutton3"
android:layout_gravity="center_horizontal" />


</LinearLayout>

我为所有按钮提供了自己的选择器状态,因为这就是我最初认为的问题所在。这是我的选择器的代码。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/button"></item>
<item android:drawable="@drawable/buttonclick" android:state_pressed="true"></item>
<item android:drawable="@drawable/buttongray" android:state_enabled="false"></item>

</selector>

如果您能帮忙,我已经在这个问题上困扰了很长时间,并且发表了更多帖子,但我似乎无法解决它。另外,我无法访问我的日志,因为我遇到了技术问题,当我尝试单击 android 监视器并且我的应用程序正在运行时,这些问题基本上卡住了我的 android studio。

如果这还不够,我还在 github 上发布了

https://github.com/BeniReydman/Slide_Menu-Slide_Menu

我会尽力解决您可能遇到的尽可能多的问题,但我是新人,这是我的第一个应用程序。我已经一个多星期没有这样做了,所以请耐心等待。

最佳答案

What happens here is that these buttons are actually in my menu2_layout.xml which is my second fragment but my rootview allows me to find it.

我通常会说发布错误,但这让我困惑,

Root View 是menu1_layout.xml,按钮在menu2_layout.xml中。因此,您需要在包含您要查找的 ID 的 View 上调用 findViewById()。

是的,代码会编译,您的 IDE 不会抛出任何错误,但这并不意味着它会工作。

如果解决此问题后仍然遇到问题,请发布崩溃日志。

关于java - Android 在 Button.setEnabled(false) 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33466899/

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