Это странная проблема.
Это будет ужасный вопрос, потому что у меня практически нет информации.
Около двух дней назад ViewPagerAdapter работал нормально. Я мог провести пальцем по экрану, и он переключался между представлениями, как определено адаптером.
Однако внезапно (не сам по себе, я уверен, что я что-то сделал) TitlePagerIndicator не привязывается к заголовкам и не отображает никакого содержимого. Не привязываясь, я имею в виду, что если я перетащу влево, заголовок будет занимать 3/4 экрана, а не привязываться к стороне и отображать следующую страницу (скриншот ниже).
Я отлаживаю и создаю экземпляр элемента, и возвращается правильное представление.
Однако, когда я открываю приложение, я получаю множество предупреждений, подобных этим: VFY: невозможно разрешить виртуальный метод 3015: Landroid/widget/LinearLayout;.getAlpha ()F VFY: невозможно разрешить прямой метод 3011: Landroid/widget /Линейный макет;. (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));
}