片段中按钮的更改未显示在屏幕上

时间:2017-02-01 17:15:01

标签: android android-fragments android-viewpager

我有一个从数据库加载测验问题的ViewPager。 在我的片段中,我实现了一个左箭头和右箭头,试图通知用户该视图是可滑动的。我还想对它们实现onClickListeners,以便它们也可以被点击以更改为下一个或上一个片段。

要指示用户何时在第一个/最后一个问题上,我在背景上使用setAlpha将其灰显。我可以在调试器中看到该方法被调用,但alpha-change未显示在设备的显示屏上。现在如果我向前滚动两页并再向后滚动到第一页,我可以看到该按钮是灰色的。

我的片段中的相关代码:

public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
    if(mQuestion.getId() == 10) ) {
        mRightButton.getBackground().setAlpha(40);
    } else {
        mRightButton.getBackground().setAlpha(255);
        mRightButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ((QuizActivity)getActivity()).nextFragment();
            }
        });
    }

    if(mQuestion.getId() == 1) {
        mLeftButton.getBackground().setAlpha(40); // is called but not changing the alpha on the button until i slide forward and back...
    } else {
        mLeftButton.getBackground().setAlpha(255);
        mLeftButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ((QuizActivity)getActivity()).previousFragment();
            }
        });
    }
}

onClickListeners按预期工作。

1 个答案:

答案 0 :(得分:0)

刚刚发现,如果我使用setVisibility(View.HIDDEN)而不是更改Alpha,它可以正常工作。