#android #android-studio
#Android #android-studio
Вопрос:
Я новичок в разработке Android и пытаюсь реализовать индикатор круга. Я следую инструкции JakeWharton: https://github.com/JakeWharton/ViewPagerIndicator#usage
Но я получил сообщение об ошибке:
Вот мой xml:
<android.support.v4.view.ViewPager
android:id="@ id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:animationCache="false" />
<com.viewpagerindicator.TitlePageIndicator
android:id="@ id/titles"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
И мой фрагмент:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_main, container, false);
//Set the pager with an adapter
ViewPager pager = (ViewPager)rootView.findViewById(R.id.container);
pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
//Bind the title indicator to the adapter
TitlePageIndicator titleIndicator = (TitlePageIndicator)rootView.findViewById(R.id.titles);
titleIndicator.setViewPager(pager);
.....
}
Эта строка: pager.setAdapter(new TestAdapter(getSupportFragmentManager()));
Выдает ошибку: нестатический метод «getSupportFragmentManager ()» нельзя использовать из статического контекста.
Я уже выполнил импорт в grandle. Как я могу это исправить? Спасибо за совет
— ОБНОВЛЕНИЕ 3:
Я создал новый НЕСТАТИЧЕСКИЙ класс и теперь в новом классе:
//Set the pager with an adapter
ViewPager pager = (ViewPager)rootView.findViewById(R.id.container);
pager.setAdapter(new MainActivity.SectionsPagerAdapter(getActivity().getSupportFragmentManager()));
Ошибка: MainActivity не является включающим классом.
Ответ №1:
Чтобы использовать SupportFragmentManager во фрагменте, вы должны использовать следующий синтаксис getActivity().getSupportFragmentManager()
Комментарии:
1. При этом я получил следующее: не удается разрешить символ «TestAdapter»
2. Я не знаю, на что ссылается TestAdapter, потому что у меня нет класса с таким именем
3. @GMX в этом случае вам следует реализовать ее, расширив FragmentPagerAdapter или FragmentStatePagerAdapter
4. @GMX если ответ был правильным, пожалуйста, выберите его в качестве соответствующего ответа
5. Все еще не работает, но теперь кажется близким, проверьте мой ответ внизу