无法在viewpager中更改视图

时间:2013-04-27 12:52:12

标签: android

我正在尝试为图书应用程序创建一个viewpager。我从android turorial http://developer.android.com/training/animation/screen-slide.html那里得到了帮助,而我正在尝试自己做。我被困在一个视图更改(点击时更改textview文本字体)未在页面内生效的位置。

这里的一些代码

activity_main.xml中

  

<TextView
        android:id="@+id/titleStory3"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="@string/titleWeight"
        android:textStyle="bold"
        android:gravity="center"/>
    <TextView
        android:id="@+id/textViewStory3"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
      android:layout_weight="@string/contentTextViewWeight"/>

<LinearLayout
        android:id="@+id/footerStory3LinearLayout"
        android:layout_weight="@string/footerWeight"
        android:layout_width="fill_parent"
        android:layout_height="0dip">
        <RelativeLayout
            android:id="@+id/footerStory3RelativeLayout"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TextView
                android:id="@+id/PageCountStory3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="page count"/>

            <TextView
                android:id="@+id/BookmarkTextViewStory3"
                android:layout_width="70sp"
                android:layout_height="fill_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:clickable="true"
                android:gravity="center_vertical"
                android:onClick="addBookmark"
                android:text="bookmark"
                android:textSize="12sp" />

        </RelativeLayout>

</LinearLayout>

你可以看到有一个textview“BookmarkTextViewStory3”,其中onClick附加了一个方法“addBookmark”。这就是我卡住的地方,我稍后会解释。

这里是activity_screen_slide.xml

在我的代码中,我在ny FragmentActivity类中有“addMookmark”(除了pageadapter实例reation的其他代码以及教程中的其他代码)。

  

/ **当用户点击“书签页面/删除书签”链接* /

时调用
public void addBookmark(View view) {
            bookmarkPageTextView.setTypeface(null, Typeface.BOLD_ITALIC);}
                        }

单击textview时,不会发生对textview(bookmarkPageTextView)的更改。如果我在方法addBookmark中放入Toast语句,那么我可以在模拟器上看到弹出的消息。因此,代码执行似乎确实在方法内部。但是textview的变化并没有发生。

任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:0)

发现问题。我只需要创建一个textview对象的引用。我在代码中的位置错了。所以只需添加行

  

bookmarkPageTextView =(TextView)findViewById(R.id.BookmarkTextViewStory3);