- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我终于找到了问题的根源。经过一系列测试并尝试不同的东西后,我注意到在输入代码后
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/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!