Я хотел бы использовать ViewPagerIndicator для навигации по фрагментам в моем приложении. Я успешно импортировал библиотеку и реализовал TitlePageIndicator. Пока у меня нет никаких исключений при запуске приложения, и я также вижу индикатор, но без имен страниц. Вот мой кодViewPagerIndicator не отображает заголовки
viewpager_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.viewpagerindicator.TitlePageIndicator
android:id="@+id/titles"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
<android.support.v4.view.ViewPager
android:id="@+android:id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
SearchActivity
public class SearchActivity extends FragmentActivity
implements Tab1Fragment.OnHeadlineSelectedListener, Tab2Fragment.OnHeadlineSelectedListener
{
private MyPagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
//getApplicationContext().deleteDatabase("db");
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager_layout);
UserID.getInstance().createUserID(this);
this.initialisePaging(); //initialsie the pager
invalidateOptionsMenu();
}
private void initialisePaging() {
List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, Tab1Fragment.class.getName()));
fragments.add(Fragment.instantiate(this, Tab2Fragment.class.getName()));
fragments.add(Fragment.instantiate(this, Tab3Fragment.class.getName()));
this.mPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager)findViewById(R.id.viewpager);
pager.setAdapter(mPagerAdapter);
TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.titles);
titleIndicator.setViewPager(pager);
}
}
MyPagerAdapter
package com.easyimmoandroid.myPager;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyPagerAdapter extends FragmentPagerAdapter {
private static final String[] TITLES = new String[] { "Title 1", "Title 2", "Title 3" };
private List<Fragment> fragments;
public MyPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int pos) {
return this.fragments.get(pos);
}
@Override
public int getCount() {
return this.fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}
}
Фрагмент
package com.easyimmoandroid.fragments;
public class Tab1Fragment extends Fragment {
private ScrollView mScrollView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (container == null) {
return null;
}
// FRAGMENT LAYOUT
mScrollView = (ScrollView) inflater.inflate(R.layout.tab_frag1_layout,
container, false);
...
return mScrollView;
}
спасибо за вашу помощь
и как это до сих пор does't работу, я хотел бы попросить вас, чтобы предложить мне, если есть какие-либо другое решение, чтобы сделать это, кроме как с WiewPagerIndicator.
super.setContentView (R.layout.viewpager_layout); вы можете удалить супер – Raghunandan
@ amer.salkovic +1 в Рагхунандан, а также ViewPager pager = (ViewPager) super.findViewById (R.id.viewpager); - что это значит? – TheFlash
Я использовал этот http://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/ учебник для фрагментов и прокрутки. Я нашел его там. Я думаю, что в этом упражнении должен быть viewpager_layout, и это так, как это должно быть сделано, или я ошибаюсь? – amsalk