Я начинающий Android-разработчик. Я пытаюсь разобраться с ViewPager. До того, как я попытался работать с этим примером :
http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/
, у меня работали представления, но я не мог заставить работать в них функциональные возможности, и мне сказали, что мне нужно использовать фрагменты в ViewPager.
Вместо этого я воспользовался этим руководством:
http://tamsler.blogspot.co.uk/2011/11/android-viewpager-and-fragments-part-ii.html
У меня есть основы ViewPager с работающим фрагментом:
FragmentPagerActivity.java
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
public class FragmentPagerActivity extends FragmentActivity {
private static final int NUMBER_OF_PAGES = 10;
private ViewPager mViewPager;
private MyFragmentPagerAdapter mMyFragmentPagerAdapter;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mMyFragmentPagerAdapter);
}
private static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
public MyFragmentPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
return PageFragment.newInstance("My Message " + index);
}
@Override
public int getCount() {
return NUMBER_OF_PAGES;
}
}
}
PageFragment.java:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class PageFragment extends Fragment {
public static PageFragment newInstance(String title) {
PageFragment pageFragment = new PageFragment();
Bundle bundle = new Bundle();
bundle.putString("title", title);
pageFragment.setArguments(bundle);
return pageFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
TextView textView = (TextView) view.findViewById(R.id.textView1);
textView.setText(getArguments().getString("title"));
return view;
}
}
main.xml:
фрагмент.xml:
Я хочу иметь возможность заменить текущий макет в ViewPager на 7 моих собственных макетов, которые уже существуют, и добавить функциональность к макетам с помощью фрагментов. Что я могу сделать с кодом, который у меня уже есть, и изменениями, которые нужно внести, чтобы он работал правильно?
Если есть какие-либо примеры ViewPager с фрагментами, доступные в Интернете, а не просто краткий обзор, как это делается в блоге разработчиков Android, я буду очень признателен.