我正在尝试为图书应用程序创建一个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的变化并没有发生。
任何人都可以提供帮助。
答案 0 :(得分:0)
发现问题。我只需要创建一个textview对象的引用。我在代码中的位置错了。所以只需添加行
bookmarkPageTextView =(TextView)findViewById(R.id.BookmarkTextViewStory3);