ビューページャーを適切に実装するために必要な概念に苦労しています。いくつかのチュートリアルに従い、developer.android.comを参照することで、ビューページャーをほぼ完全に機能させることができます。ポケットベルは、「マイメッセージ0」から「マイメッセージ9」までを表示するように設定されているいくつかのテキストビューをめくります。問題は、ビューページャーがアクティビティの下部にあるボタンとボタンのすぐ上にある赤いブロックも反転させることです。
ビューページャーにテキストのみを循環させたいのですが。私が間違っていることを理解するのを手伝ってくれませんか。
ダッシュボードを表すアクティビティがあります。
public class DashBoard extends FragmentActivity
{
private static final int NUMBER_OF_PAGES = 10;
private ViewPager mViewPager;
private MyFragmentPagerAdapter mMyFragmentPagerAdapter;
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.dashboard);
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;
}
}
およびページフラグメントのクラス:
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 icicle){
super.onCreate(icicle);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){
View view = inflater.inflate(R.layout.dashboard, container, false);
TextView textView = (TextView) view.findViewById(R.id.textViewPage);
textView.setText(getArguments().getString("title"));
return view;
}
}
そして最後に、ダッシュボードの私のxml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dashbaordLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
/>
<TextView
android:id="@+id/textViewPage"
android:layout_width = "match_parent"
android:layout_height= "wrap_content"
/>
<Button
android:id="@+id/newGoalButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/stringNewGoal"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:onClick="createNewGoal"
/>
<RelativeLayout
android:id="@+id/SpaceBottom"
android:layout_width="match_parent"
android:layout_height="75dp"
android:layout_above="@id/newGoalButton"
android:background="@color/red"
>
</RelativeLayout>
</RelativeLayout>
私のxmlについてのメモ、私はいくつかのビューページャータグでテキストビューをラップしようとしました。
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
>
<TextView
android:id="@+id/textViewPage"
android:layout_width = "match_parent"
android:layout_height= "wrap_content"
/>
</android.support.v4.view.ViewPager>
しかし、それは、元の問題と同じようにボタンと赤いブロックが循環している間に、テキストビューを画面から非表示にすることだけでした。