问题描述
需要一些帮助,同时使用viewpager更新页面我的问题。我使用的是简单的viewpager与FragmentStatePagerAdapter。所有我想要做的就是访问当前片段/视图,以便我可以更新我的片段/查看一些textviews。我在论坛上搜索到四周,才知道几件事情 - 其中一个方法来处理这个是通过设置标签在instantiateItem()调用回适配器和retreive由findViewbyTag的看法。我无法理解如何实现这一点,我也不能肯定是否会工作FragmentStatePagerAdapter。 - 我探索其他选项,在各大论坛建议,但不能使他们的工作
。我的code是非常相同的是Android http://developer.android.com/training/animation/screen-slide.html.基本部件是相同的(片段活性的xml与某些显示部件,包括一个TextView,viewpager的xml只需视图寻呼机中它,一个片段类和主FragmentActivity类)。在我的FragmentActivity I类添加了一个pageChangelistener我viewpager这样我可以onPageSelected()在做我的TextView的变化。
任何帮助是为AP preciated。
添加code,以供参考。
公共类myActivity扩展FragmentActivity
//变量声明
保护无效的onCreate(包savedInstanceState){
ViewPager mPager =(ViewPager)findViewById(R.id.pager);
mPagerAdapter =新ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
查看CurrView;
OnPageChangeListener pageChangelistener =新OnPageChangeListener(){
@覆盖
公共无效onPageSelected(INT pageSelected){
doTextViewChnges(); //获取文本查看和更新其基于pageSelected
---这是我在哪里停留在试图让TextView的在我目前的FRAGMWNT / VIEW -------
}
mPager.setOnPageChangeListener(pageChangelistener);
}
私有类ScreenSlidePagerAdapter扩展FragmentStatePagerAdapter {
公共ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager FM){
超(FM);
}
@覆盖
公共android.support.v4.app.Fragment的getItem(INT位置){
返回ScreenSlidePageFragment.create(位置,<其他参数,我想通过>);
}
@覆盖
公众诠释getCount将(){
返回NUM_PAGES;
}
}
在你的OnPageChangeListener:
OnPageChangeListener pageChangelistener =新OnPageChangeListener(){
@覆盖
公共无效onPageSelected(INT pageSelected){
ScreenSlidePageFragment currentFragment =(ScreenSlidePageFragment)mPagerAdapter.getItem(pageSelected)
doTextViewChnges(); //获取文本查看和更新其基于pageSelected
---这是我在哪里停留在试图让TextView的在我目前的FRAGMWNT / VIEW -------
}
Need some help with my problem of updating pages while using viewpager. I am using a simple viewpager with FragmentStatePagerAdapter. All I want to do is get access to the current fragment/view so as I can update some textviews in my fragment/view. I searched around in the forum and came to know few things- One of the ways to handle this is by setting tag in instantiateItem() call back of the adapter and retreive the view by findViewbyTag. I could not understand how to implement this and I am also not sure if that will work for FragmentStatePagerAdapter.- I explored other options as suggested in various forums, but cannot make them work.
My code is very much same as in a android http://developer.android.com/training/animation/screen-slide.html. Basic components are the same (Fragment activity xml with some display components including a textview, viewpager xml with just a view pager in it, a Fragment class and the main FragmentActivity class). in my FragmentActivity class I have added a pageChangelistener to my viewpager so as I can do my textview changes during onPageSelected().
Any help is is appreciated.
Adding the code for reference.
Public class myActivity extends FragmentActivity
//Variable declarations
protected void onCreate(Bundle savedInstanceState) {
ViewPager mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
View CurrView;
OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
@Override
public void onPageSelected(int pageSelected) {
doTextViewChnges();//access the text view and update it based on pageSelected
---THIS IS WHERE I AM STUCK IN TRYING TO GET THE TEXTVIEW IN MY CURRENT FRAGMWNT/VIEW-------
}
mPager.setOnPageChangeListener(pageChangelistener);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
super(fm);
}
@Override
public android.support.v4.app.Fragment getItem(int position) {
return ScreenSlidePageFragment.create(position, <other parameters I want to pass>);
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
in your OnPageChangeListener:
OnPageChangeListener pageChangelistener = new OnPageChangeListener() {
@Override
public void onPageSelected(int pageSelected) {
ScreenSlidePageFragment currentFragment = (ScreenSlidePageFragment) mPagerAdapter.getItem(pageSelected)
doTextViewChnges();//access the text view and update it based on pageSelected
---THIS IS WHERE I AM STUCK IN TRYING TO GET THE TEXTVIEW IN MY CURRENT FRAGMWNT/VIEW-------
}
这篇关于更新与fragmentStatePagerAdapter片段/意见viewpager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!