setAlpha()不适用于Fragment生命周期函数(Android)中的按钮

时间:2016-09-05 15:05:15

标签: android button fragment lifecycle

在我的应用程序的一个片段中,一个简单的私有方法控制是否激活“提交”按钮:

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。在这些情况下,一切都按预期工作。

可能会发生什么?

0 个答案:

没有答案