Android ViewPagerIndicator不突然捕捉或显示寻呼机内容
这是一个棘手的问题 这将是一个可怕的问题,因为我几乎没有信息 大约两天前,我让ViewPagerAdapter工作正常。我可以滑动,它将在适配器定义的视图之间切换 然而,突然之间(不是它自己,我肯定我做了什么)TitlePagerIndicator没有捕捉到标题,也没有显示任何内容。不捕捉的意思是,如果我向左拖动,标题将位于屏幕的3/4处,而不是捕捉到侧面并显示下一页(下面的屏幕截图) 我已经调试并调用了实例化项,并返回了一个正确的视图 然而,当我打开应用程序时,我会收到很多类似以下的警告: VFY:无法解析虚拟方法3015:Landroid/widget/LinearLayout;。getAlpha()F VFY:无法解析直接方法3011:Landroid/widget/LinearLayout;。(Landroid/content/Context;Landroid/util/AttributeSet;I)V VFY:无法解析虚拟方法2965:Landroid/widget/FrameLayout;。setAlpha(F)V 我假设这是我导入的一个问题,但是一切都编译得很好,我有ViewPagerIndicator作为库项目,还有Sherlock 以下是我的适配器代码:Android ViewPagerIndicator不突然捕捉或显示寻呼机内容,android,user-interface,android-ui,android-viewpager,Android,User Interface,Android Ui,Android Viewpager,这是一个棘手的问题 这将是一个可怕的问题,因为我几乎没有信息 大约两天前,我让ViewPagerAdapter工作正常。我可以滑动,它将在适配器定义的视图之间切换 然而,突然之间(不是它自己,我肯定我做了什么)TitlePagerIndicator没有捕捉到标题,也没有显示任何内容。不捕捉的意思是,如果我向左拖动,标题将位于屏幕的3/4处,而不是捕捉到侧面并显示下一页(下面的屏幕截图) 我已经调试并调用了实例化项,并返回了一个正确的视图 然而,当我打开应用程序时,我会收到很多类似以下的警告: V
public class ViewPagerAdapter extends PagerAdapter implements TitleProvider {
private static String[] titles = new String[] {
"My Klinks",
"Received Klinks"
};
private final Context context;
public ViewPagerAdapter(Context context) {
this.context = context;
}
public String getTitle(int position) {
return titles[position];
}
@Override
public int getCount() {
return titles.length;
}
@Override
public Object instantiateItem(View pager, int position) {
TextView t = new TextView(context);
t.setText("WheeeE");
return t;
}
@Override
public void destroyItem(View pager, int position, Object view) {
((ViewPager) pager).removeView((TextView) view);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view.equals(object);
}
@Override
public void finishUpdate(View view) {
}
@Override
public void restoreState(Parcelable p, ClassLoader c) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View view) {
}
}
这是我的活动代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.main );
// set up the slidey tabs
ViewPagerAdapter adapter = new ViewPagerAdapter( this );
ViewPager pager = (ViewPager)findViewById( R.id.viewpager );
TitlePageIndicator indicator = (TitlePageIndicator)findViewById( R.id.indicator );
pager.setAdapter( adapter );
indicator.setViewPager( pager );
// set up the action bar
final ActionBar ab = getSupportActionBar();
ab.setBackgroundDrawable(getResources().getDrawable(R.drawable.ad_action_bar_gradient_bak));
}
好吧,在头撞到墙上几天后,我得出结论,我的ViewPagerAdapter就是问题所在
我只是简单地创建了一个动态片段,并创建了FragmentPagerAdapter的子类,现在它可以正常工作…如果其他人遇到同样的问题: 在实例化视图中:不要忘记将新视图附加到ViewPager:
@Override
public Object instantiateItem(View pager, int position) {
TextView t = new TextView(context);
t.setText("WheeeE");
((ViewPager)pager).addView(t);
return t;
}
InstanceItem的当前版本获得的是一个视图组而不是视图,解决方案应该是相同的。对于初学者来说,您尝试过清理项目并重新启动eclipse吗?多次。几天前我遇到了一个问题,我的android支持jar在项目之间突然不匹配。所以我用我的Android源文件夹中的最新版本更新了它们。我敢肯定问题就是从那时开始的。但是,当我将它们全部切换回ViewPagerIndicator git源上提供的一个时,没有骰子。我将尝试使用Sherlock git源代码中包含的一个,看看它是否有用。使用不同版本的支持包会导致问题吗?是的,听起来可能会导致问题。我不确定如果是这样的话,你是否很可能在这里得到一个有用的回复,哈哈。。。我看不出你的代码有什么问题。这一定是你的项目有问题。我接受这个答案的前提是它是正确的:)我无法验证,因为我改变了我的方法。然而,这似乎解决了我的问题。