fragment-Fragment tab 内容不能显示

问题描述

Fragment tab 内容不能显示

我使用俩个 fragments 创建了程序。这俩个 fragment 可以互相切换。代码编译和运行都没有问题,俩个 tabs 都能显示出来,也可以互相切换,但是 tabs 没有内容。我觉得是 fragments 的问题,然后设置 setcontentview。为什么 HoloEverywhere 和ActionbarSherlock 里 tab 的内容显示不出来?

main activity:

import java.util.ArrayList;

import org.holoeverywhere.app.Activity;
import org.holoeverywhere.widget.TextView;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockActivity;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.WindowManager;

public class SwipeTabsMainActivity extends Activity {
ViewPager mViewPager;
TabsAdapter mTabsAdapter;
TextView tabCenter;
TextView tabText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.pager);

    setContentView(mViewPager);
    ActionBar bar = getSupportActionBar();
    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

    mTabsAdapter = new TabsAdapter(this, mViewPager);

        mTabsAdapter.addTab(bar.newTab().setText("Stopwatch"),StopWatchFragment.class, null);
    mTabsAdapter.addTab(bar.newTab().setText("Timer"), CountdownFragment.class, null);
}
public static class TabsAdapter extends FragmentPagerAdapter implements
        ActionBar.TabListener, ViewPager.OnPageChangeListener {
    private final Context mContext;
    private final ActionBar mActionBar;
    private final ViewPager mViewPager;
    private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();

    static final class TabInfo {
        private final Class<?> clss;
        private final Bundle args;

        TabInfo(Class<?> _class, Bundle _args) {
            clss = _class;
            args = _args;
        }
    }
    public TabsAdapter(Activity activity, ViewPager pager) {
        super(activity.getSupportFragmentManager());
        mContext = activity;
        mActionBar = activity.getSupportActionBar();
        mViewPager = pager;
        mViewPager.setAdapter(this);
        mViewPager.setOnPageChangeListener(this);
    }
    public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
        TabInfo info = new TabInfo(clss, args);
        tab.setTag(info);
        tab.setTabListener(this);
        mTabs.add(info);
        mActionBar.addTab(tab);
        notifyDataSetChanged();
    }
    @Override
    public int getCount() {
        return mTabs.size();
    }
    @Override
    public Fragment getItem(int position) {
        TabInfo info = mTabs.get(position);
        return Fragment.instantiate(mContext, info.clss.getName(),
                info.args);
    }
    @Override
    public void onPageScrolled(int position, float positionOffset,
            int positionOffsetPixels) {
    }
    @Override
    public void onPageSelected(int position) {
        mActionBar.setSelectedNavigationItem(position);
    }
    @Override
    public void onPageScrollStateChanged(int state) {
    }
    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        Object tag = tab.getTag();
        for (int i = 0; i < mTabs.size(); i++) {
            if (mTabs.get(i) == tag) {
                mViewPager.setCurrentItem(i);
            }
        }
    }
    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }
    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }
}
}

Main Activity's xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.view.ViewPager  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1" />
时间: 2025-01-25 06:41:04

fragment-Fragment tab 内容不能显示的相关文章

android-自定义viewGroup中放入fragment view,但是fragment中的内容不显示

问题描述 自定义viewGroup中放入fragment view,但是fragment中的内容不显示 自定义viewGroup中放入fragment view,但是fragment中的内容显示不到界面上,明明fragment中的oncreateview都走了,而且返回的view不为空?求解!!! <?xml version="1.0" encoding="utf-8"?> android:id="@+id/test_viewgroup&quo

父Fragment 嵌套多个 Fragment与viewpager中, 子fragment中内容无法显示

问题描述 父Fragment 嵌套多个 Fragment与viewpager中, 子fragment中内容无法显示 如题, FragmentA 里面有个ViewPager ViewPager里是FragB fragc.... Adapter 也使用了getChildFragmentManager() 但是FragmentB/C...的内容不显示 有哪位朋友碰到过这样的问题吗?望指教. 解决方案 可以查查前面的语句吧.

Android利用Fragment实现Tab选项卡效果_Android

利用Fragment实现Tab选项卡效果:  将RadioGroup与Fragment集合,实现tab选项卡效果,这里面最关键的几个文件:  1.FragmentTabAdapter类: /** *@Description: *@Author:Nate Robinson *@Since:2015-2-12 */ public class FragmentTabAdapter implements RadioGroup.OnCheckedChangeListener { private List<

ActionBar详解(五)---&amp;gt;利用ActionBar结合Fragment实现Tab导航

MainActivity如下: package cc.testsimpleactionbar4; import android.os.Bundle; import android.app.ActionBar; import android.app.Activity; import android.app.ActionBar.Tab; import android.app.ActionBar.TabListener; import android.app.FragmentTransaction;

Android利用Fragment实现Tab选项卡效果

利用Fragment实现Tab选项卡效果: 将RadioGroup与Fragment集合,实现tab选项卡效果,这里面最关键的几个文件: 1.FragmentTabAdapter类: /** *@Description: *@Author:Nate Robinson *@Since:2015-2-12 */ public class FragmentTabAdapter implements RadioGroup.OnCheckedChangeListener { private List<Fr

android在fragment中Toast.makeText不能显示

问题描述 android在fragment中Toast.makeText不能显示 android在fragment中Toast.makeText(getActivity(),"当前网络不可用",Toast.LENGTH_LONG);不显示 解决方案 Toast.makeText(getActivity(),"当前网络不可用",Toast.LENGTH_LONG);该为 Toast.makeText(getActivity(),"当前网络不可用",

Android,Fragment使用AsyncHttpClient数据不显示

问题描述 Android,Fragment使用AsyncHttpClient数据不显示 先贴代码:NewsFragment.java public class NewsFragment extends Fragment { private final static String TAG = ""NewsFragment""; Activity activity; ArrayList<NewsEntity> newsList = new ArrayList

SharePoint Iframe 报错:此内容不能显示在一个框架中

问题描述 我们SharePoint站点用Excel Service发布的Excel,需要Iframe到其他系统中,但是,Iframe的时候发现报错"此内容不能显示在一个框架中". 后来,尝试在其他系统中Iframe SharePoint其他页面,同样报这样的错误:但是SharePoint自己的页面,Iframe自己页面不报错,Iframe自己的Excel Services 页面报错,很奇怪的问题. 问题截图 问题介绍 经过很长一段时间的搜索,发现是一种安全策略造成的,为了防止"

Word 2010粘贴内容时显示粘贴选项按钮

默认情况下,在Word 2010文档中执行粘贴操作后,在被粘贴内容的右侧将显示"粘贴选项"按钮,以帮助用户选择粘贴格式.用户可以根据需要取消或显示粘贴选项按钮,操作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"按钮,如图2012010719所示. 图2012010719 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到"高级"选项卡.在&q