在我的应用程序的一个片段中,一个简单的私有方法控制是否激活“提交”按钮:
private void activateSubmitButton(boolean activate){
if (activate){
submit.setClickable(true);
submit.setAlpha((float)1);
}else{
submit.setClickable(false);
submit.setAlpha((float)0.5);
}
}
Button对象是在Fragment的OnCreateView()函数内创建的:
submit = (Button) v.findViewById(R.id.newdutch_acceptbutton);
这是布局中的问题按钮:
<Button
android:id="@+id/newdutch_acceptbutton"
android:text="ACCEPT"
android:textSize="15sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/acceptbutton"/>
我的问题如下:创建片段时,应取消激活按钮的默认状态。为此,从onCreateView()方法调用 activateSubmitButton(FALSE)方法。但是,当从Fragment的任何生命周期方法调用setAlpha()函数时,它不起作用。我试过在OnResume()方法中移动它没有成功。
然而,从Fragment代码中的许多地方调用此方法 activateSubmitButton()。例如,当用户填充了所有框时,按钮的alpha设置为(float)1,当用户删除其中一个框时,它将返回(浮动)0.5。在这些情况下,一切都按预期工作。
可能会发生什么?