标签: android-tabs

Android中的片段内的选项卡

我试图像在示例中一样在片段中添加TabHost,在调用时获取NullPointerException

mTabHost.setup()

可能是什么问题?代码如下

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.tabs_layout,container,false);

    mTabHost = (FragmentTabHost)rootView.findViewById(android.R.id.tabhost);
    mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.tabcontent);

    mTabHost.addTab(mTabHost.newTabSpec("fragmentb").setIndicator("tab1"),
            Fragment1.class, null);
    mTabHost.addTab(mTabHost.newTabSpec("fragmentc").setIndicator("tab2"),
            Fragment2.class, null);
    return rootView;
}
Run Code Online (Sandbox Code Playgroud)

XML:

<android.support.v4.app.FragmentTabHost
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:id="@+id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />

    </LinearLayout>
</android.support.v4.app.FragmentTabHost>
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tabs

14
推荐指数
1
解决办法
1020
查看次数

Android SlidingTabLayout带图标

我在我的视图中使用谷歌的SlidingTabLayout,但我想在标签中添加图标.我正在使用这个http://developer.android.com/samples/SlidingTabsBasic/src/com.example.android.common/view/SlidingTabLayout.html 任何人都可以帮忙吗?

void setUpPager(View view){
    mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
    mViewPager.setAdapter(new TabsPagerAdapter(getActivity()));
    mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
    mSlidingTabLayout.setViewPager(mViewPager);
  }
Run Code Online (Sandbox Code Playgroud)

这是我的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

  <android.common.view.SlidingTabLayout
      android:id="@+id/sliding_tabs"
      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="0px"
      android:layout_weight="1"
      android:background="@android:color/white"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-tabs pagerslidingtabstrip android-tabstrip

14
推荐指数
3
解决办法
2万
查看次数

Android,没有Actionbar的标签

已经问过这个问题(例如,这里使用ViewPager和没有actionBar的Tabs),但是那里的答案不起作用.有一些指向Swipey的链接,但不幸的是链接也被破坏了.

来自Android站点EffectiveNavigation的示例使用Actionbar来托管选项卡片段,所以很明显,如果我设置了.NoActionBar主题,那么就没有主机了.任何不同的方式?谢谢.

更新我想要创建的屏幕截图,在顶部,没有操作栏. 在此输入图像描述

更新2这是来自谷歌的例子,顶部有一个操作栏(标题为"有效导航"),我想摆脱它

在此输入图像描述

android android-tabs

14
推荐指数
2
解决办法
2万
查看次数

使用Material Design在工具栏中滑动选项卡

我一直在学习使用这篇文章使用Material Design来使用Sliding Tabs .我已成功地实现SlidingTabs 以下Toolbar,像这样的:

在此输入图像描述

但现在我想创建ActionBar/ToolBar Fragment选项卡 ......

android android-layout android-tabs material-design

14
推荐指数
1
解决办法
6498
查看次数

Android:使用putExtra从片段访问容器活动对象?

我正在使用Action bar和fragment构建一个标签界面.我需要帮助将数据从容器活动发送到片段.

详细说来,我在容器活动中有工作对象.我根据工作对象中的信息创建了几个选项卡(如公司详细信息,体验详细信息等).我需要将作业对象传递给这些片段,以便它可以显示相应的信息.

我创建了容器活动和标签片段.我需要一个关于如何跨越它们传递对象的示例.我不能使用intent.putExtra.我可以从片段中访问父容器的对象吗?

任何帮助将不胜感激.

谢谢.

android fragment android-fragments android-tabs

13
推荐指数
1
解决办法
2万
查看次数

TabActivity中的多个映射v2

我目前正在尝试使用MapView对象在TabActivity的不同选项卡中使用2个映射v2.问题出现在以下场景中:

  • 显示带有地图的tab1
  • 转到tab2以显示另一个地图
  • 在第二个选项卡中,看起来第一个选项卡中的地图图像与新地图重叠.见下图:

带有2个地图的TabActivity

在右侧,您可以看到第一张地图仍然显示在它上面.触摸事件将转到新地图,但这并没有真正帮助.我花了很多时间尝试将我们的应用程序转换为使用片段并遇到其他类型的问题.其中一个是http://code.google.com/p/android/issues/detail?id=40035,所以这也不是一个好选择.

到目前为止,我还没有找到任何解决方法.为了轻松尝试各种更改,我编写了一个简单的应用程序,并在此处提供:https://github.com/cristizmf/TestMapsV2.它只需要地图库项目的正确位置和清单中的良好地图键.

任何想法将不胜感激.

稍后修改:我已为此记录了一个问题:https://code.google.com/p/gmaps-api-issues/issues/detail?id = 5027&thanks = 5027&ts = 1362071369

android google-maps android-tabs google-maps-android-api-2

13
推荐指数
1
解决办法
3463
查看次数

如何刷新FragmentPagerAdapter的片段?

我有2个标签名为tab1(home)和tab2(profile)使用TabPageIndicatorFragmentPagerAdapter库.

在tab2中,我有一个名为"登录"的按钮(tab2膨胀abc.xml).

当用户单击"登录"按钮时,应用程序将在新活动中显示登录表单.登录后,活动结束,tab2的内容视图将更改(它显示用户的个人资料,因为它会膨胀xyz.xml).我怎样才能做到这一点?

public class MainActivity extends SherlockFragmentActivity {
    private static String[] TAB_NAMES = null;
    private Context context = this;
    private static FragmentPagerAdapter adapter ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        if (TAB_NAMES == null) {
            TAB_NAMES = new String[] {
                    getResources().getString(R.string.tab_home),
                    getResources().getString(R.string.tab_profile) };
        }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        adapter = new TabsAdapter(
                getSupportFragmentManager());

        ViewPager pager = (ViewPager) findViewById(R.id.pager);

        pager.setAdapter(adapter);


        TabPageIndicator indicator = (TabPageIndicator) findViewById(R.id.indicator);
        indicator.setViewPager(pager);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tabs

13
推荐指数
2
解决办法
4万
查看次数

处理选项卡小部件时出现java.lang.UnsupportedOperationException

我正在我的应用中实现可滑动的标签.我为此实现了一个演示.以下是我的代码,

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <FrameLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <FrameLayout
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <FrameLayout
                android:id="@+id/tab3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <FrameLayout
                android:id="@+id/tab4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />
        </FrameLayout>

        <android.support.v4.view.ViewPager
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

</TabHost>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends Activity implements OnTabChangeListener, OnPageChangeListener{  
    private TabHost host;  
    private ViewPager pager;  
 @Override  
 public void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-tabs

13
推荐指数
1
解决办法
8738
查看次数

android.support.v4.app.FragmentPagerAdapter无法应用于android.app.FragmentManager

我想在我的应用程序中仅实现2个固定选项卡.我按照本教程.

在我的TabPagerAdapter班上,我收到了这个错误:

FragmentPageAdapterandroid.support.v4.app.FragmentPagerAdapter无法应用android.app.FragmentManager

TabPageAdapter类:

package com.nikhil.tabs;


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


public class TabsPagerAdapter extends FragmentPagerAdapter {

    public TabsPagerAdapter(FragmentManager fm) {
        super(fm); //getting error here
    }

    @Override
    public Fragment getItem(int index) { //getting error here

        switch (index) {
            case 0:
                // Top Rated fragment activity
                return new TopRatedFragment();
            case 1:
                // Games fragment activity
                return new GamesFragment();
        }

        return null;
    }

    @Override
    public int getCount() {
        // get item count - …
Run Code Online (Sandbox Code Playgroud)

java android fragment fragmentpageradapter android-tabs

13
推荐指数
1
解决办法
1万
查看次数

如何在android中使用viewpager动态创建tab?

说明:

假设我有多个类别来自我的REST.我不知道它有多少类别是5,7或有时2等.我想用viewpager将所有类别放在我的选项卡上.我想根据类别大小创建一个选项卡.让我们看看例如假设在我的REST响应中只有2个类别它只创建两个选项卡.如果它有5个类别,那么5个标签,依此类推.

以下是创建选项卡的示例测试示例.

MainActivity.java

public class MainActivity extends AppCompatActivity {

    TabLayout tabLayout;
    ViewPager viewPager;
    Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        toolbar=(Toolbar)findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        tabLayout=(TabLayout)findViewById(R.id.tabs);
        viewPager=(ViewPager)findViewById(R.id.viewpager);

        setupViewPager(viewPager);
        viewPager.setCurrentItem(0);
        tabLayout.setupWithViewPager(viewPager);
    }
    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        for(int i=0;i<3;i++){
            adapter.addFragment(new OneFragment(), "ONE");
//            adapter.addFragment(new TwoFragment(), "TWO");
            viewPager.setAdapter(adapter);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ViewPagerAdapter.java

public class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager){
        super(manager); …
Run Code Online (Sandbox Code Playgroud)

java android android-tabs

12
推荐指数
1
解决办法
1万
查看次数