これは奇妙な問題です。
情報がほとんどないため、これはひどい質問になります。
約 2 日前、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 があります。
これが私のアダプターコードです:
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));
}