页面视图标题未显示

时间:2013-10-23 12:36:09

标签: android android-viewpager textview

正在达到语句并打印日志,但视图根本没有更改。文本视图的文本没有变化,并且'bar'(FrameLayout)的可见性没有变化。

可能是什么问题?多谢你们。

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                if (mViewPager.getCurrentItem() == MyPageAdapter.DISCOVERY) {
                    findViewById(R.id.pullupTitleBar).setVisibility(1);
                    ((TextView) findViewById(R.id.pullUpTitle)).setText("My Title 1");
                    Log.i("test","DICOVERY PAGE");
                } else 
                if (mViewPager.getCurrentItem() == MyPagerAdapter.EVENTS) {
                    findViewById(R.id.pullupTitleBar).setVisibility(1);
                    ((TextView) findViewById(R.id.pullUpTitle)).setText("My Title 2");
                    Log.i("test","EVENTS PAGE");
                } else {
                    findViewById(R.id.pullupTitleBar).setVisibility(0);
                    Log.i("test","MAKE BAR NOT VISIBLE");
                }
            }

});

3 个答案:

答案 0 :(得分:1)

使用View.VISIBLE而不是将幻数1传递给setVisibility。 VISIBLE的常数值为0,INVISIBLE的常数值为4,GONE的值为8

答案 1 :(得分:0)

您应该将mViewPager.notifyDataSetChanged()添加到侦听器。

答案 2 :(得分:0)

Text not not changing问题原来是我在侦听器中通过ID查找视图。实际上它导致超时并停止更新文本。

所以不要使用:

findViewById(R.id.pullupTitleBar).setVisibility(1);

我现在正在onCreate中创建一个实例并使用它(如下所示):

RelativeLayout rLayout;

onCreate(..){
...
rLayout = findViewById(R.id.pullupTitleBar).setVisibility(View.VISIBLE);
}

请参阅blackbelt对问题后半部分的回答,如果您使用了他的答案,请不要忘记给他+1!

感谢帮助人:)。