1

viewPager を使用して各タブをフラグメントとして表示するタブを作成しましたが、エミュレーターを実行すると、ここに表示されているようにタブが表示されませ。これが私のコーディングです:Dashboard.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff">

<TextView android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="@string/WELCOME"
          android:textSize="40dip"
          android:gravity="center"
          android:layout_marginTop="20dip"/>

   <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/emailTextView"/>

<Button android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/Logout_Me"
    android:textSize="20dip"
    android:textColor="#21dbd4"
    android:textStyle="bold"
    android:id="@+id/btnLogout"
    android:layout_marginTop="80dip"
    android:background="@null"/>

<RelativeLayout 
android:layout_width="match_parent"
android:layout_height="match_parent" >

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
</android.support.v4.view.ViewPager>

</RelativeLayout>



</LinearLayout>

MyPagerAdapter.java:

package com.example.loginandregistration;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class MyPageAdapter extends FragmentPagerAdapter {

// Declare the number of ViewPager pages
final int PAGE_COUNT = 3;

public MyPageAdapter(FragmentManager fm) {
super(fm);
}

@Override
public Fragment getItem(int arg0) {
switch (arg0) {

// Open FragmentTab1.java
case 0:
    CreateFolder createfolder = new CreateFolder();
    return createfolder;

// Open FragmentTab2.java
case 1:
    SendPic sendpic = new SendPic();
    return sendpic;

// Open FragmentTab3.java
case 2:
    MyPics mypics = new MyPics();
    return mypics;
}
return null;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return PAGE_COUNT;

}
}

TabsViewPagerFragmentActivity:

package com.example.loginandregistration;

import android.support.v7.app.ActionBar.Tab;
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.content.LocalBroadcastManager;
import com.example.loginandregistration.MyPageAdapter;
import android.support.v7.app.ActionBar;

class TabsViewPagerFragmentActivity extends ActionBarActivity {

// Declare Variables
ActionBar actionBar;
ViewPager mPager;
Tab tab;

@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Get the view from dashboard.xml
    setContentView(R.layout.dashboard);

    // Activate Navigation Mode Tabs
    actionBar = getSupportActionBar(); 
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Locate ViewPager in dashboard.xml
    mPager = (ViewPager) findViewById(R.id.pager);

    // Capture ViewPager page swipes
    ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            // Find the ViewPager Position
            actionBar.setSelectedNavigationItem(position);
        } 
    };

    mPager.setOnPageChangeListener(ViewPagerListener);
    // Locate the adapter class called ViewPagerAdapter.java
    MyPageAdapter viewpageradapter = new MyPageAdapter(getSupportFragmentManager());
    // Set the View Pager Adapter into ViewPager
    mPager.setAdapter(viewpageradapter);

    // Capture tab button clicks
    ActionBar.TabListener tabListener = new ActionBar.TabListener() {

         public void onTabSelected(Tab tab, FragmentTransaction ft) {
             // Pass the position on tab click to ViewPager
             mPager.setCurrentItem(tab.getPosition());
         }

         public void onTabUnselected(Tab tab, FragmentTransaction ft) {
             // TODO Auto-generated method stub
         }

         public void onTabReselected(Tab tab, FragmentTransaction ft) {
             // TODO Auto-generated method stub
         }

     };



    // Create first Tab
    tab = actionBar.newTab().setText("Create Folder").setTabListener(tabListener);
    actionBar.addTab(tab);

    // Create second Tab
    tab = actionBar.newTab().setText("Send Pic").setTabListener(tabListener);
    actionBar.addTab(tab);

    // Create third Tab
    tab = actionBar.newTab().setText("Create Folder").setTabListener(tabListener);
    actionBar.addTab(tab);

}

}

Fragment を拡張する「SendPic.java」、「CreateFolder.java」、「MyPic.java」はすでに作成済みです。しばらくの間、この問題がエミュレーターに表示されず、理由がわかりません。どんな助けでも大歓迎です!

注: dashboard.xml ファイルの viewPager をページの上部に移動すると、他のすべてのビューが非表示になります (空白のページが残ります)。

4

0 に答える 0