Я перестраиваю дизайн своего приложения и хотел бы использовать ViewPager для него. Реализация была не совсем проблемой, но я не могу понять, как изменить мои TextViews внутри страниц. Часы гугл мне тоже не помогли. Возможно ты можешь помочь мне. Мне просто нужно знать, как изменить текст, цвет текста и прочее в моих текстовых представлениях.
main.xml включает мой ViewPager, а speiseplan.xml включает TextViews внутри ScrollView, каждый с идентификатором.
main.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" >
<android.support.v4.view.ViewPager
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/awesomepager" />
</LinearLayout>
Я не буду писать весь файл speiseplan.xml здесь, поскольку он просто включает в себя ScrollView и несколько TextViews.
Реализация на Java выглядит следующим образом:
public class Speiseplan extends Activity {
private ViewPager myPager;
private static int NUM_VIEWS = 14;
private MyPagerAdapter myAdapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myAdapter = new MyPagerAdapter();
myPager = (ViewPager) findViewById(R.id.awesomepager);
myPager.setAdapter(myAdapter);
}
private class MyPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return NUM_VIEWS;
}
@Override
public Object instantiateItem(View collection, int position){
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.speiseplan, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2){
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
}
Теперь, как я могу получить доступ к своим TextViews и изменить их. И как я могу обнаружить пользователя, переходящего на другую страницу.
Спасибо за помощь!