问题标签 [android-tabs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
350 浏览

android - 对于选项卡式视图,我真的必须将所有代码放入一个活动中吗?

我正在尝试制作一个带有 3 个选项卡的简单 UI,每个选项卡都有自己独特的用途。我知道实现选项卡的新方法是使用 Actionbar 和 Fragments,但这让我感到困惑,因为最后我的应用程序的所有逻辑当前都位于一个相当大的活​​动中,而我希望更多的功能分离受到鼓励该平台。我在这里做错了吗?

我和这位先生在这里发帖有很多共同点:Android Layout Fragment/Activity Confusion .... 不幸的是,他的大部分问题都没有得到解答。

...而且,我基本上从一个人的在线示例中了解了如何使用 Actionbar 执行选项卡,这里:http ://arvid-g.de/12/android-4-actionbar-with-tabs-example . (只是没有很多例子!)

这是获取Actionbar并创建两个选项卡:

这是我制作的这些“子类”中的全部代码Fragment

从字面上看,我所做的只是放大视图;只是感觉有点不对劲。然后我有一个更长的活动,其中我有我的应用程序的所有逻辑,这也很烦人。不幸的是,我设置它的方式需要动态生成进入视图的内容,例如R.layout.calendar,我必须在某处做。

现在我在移动我的所有代码时遇到了很多错误,我想知道是否真的值得把它整理出来——最初我试图用 TabHost 和 TabWidget 以及所有这些来做标签,但它是已弃用。

我真的应该将所有代码放在一个活动中以填充三个选项卡吗?没有更好的方法吗?我应该把动态填充这些空片段的逻辑放在哪里?我想,在片段本身中,或者在单独的活动中是我更喜欢的。

0 投票
2 回答
2904 浏览

android - 我可以在操作栏中嵌入可滚动的标签吗?

我想要一个布局,其中屏幕空间在较小的屏幕上很重要,但我希望用户能够在两个标签之间滑动。在这些较小的屏幕设备上,我不想用这样的可滚动标签小部件浪费一整行:

可滚动标签

固定标签不会向用户提供他们可以滑动的指示:

固定标签

用户通常需要查看两个选项卡才能完成任务。目前有什么方法可以在主操作栏中嵌入支持“滑动切换选项卡”的选项卡?

0 投票
1 回答
1107 浏览

android - 如何将选项卡添加到操作栏外的视图?

我有一个布局,我需要子布局内的选项卡,而不是操作栏中的选项卡。即,选项卡不适用于整个屏幕显示,仅适用于其中一个窗格。

如何在 Android 4.0+ 中执行此操作?

0 投票
1 回答
361 浏览

android - 如何使用早期 SDK 的选项卡导航创建 Android 活动?

我想支持 Android SDK 8,并且能够使用标签导航。当我尝试通过 GUI 向导使用选项卡创建活动时,我收到以下错误:

在此处输入图像描述

实现选项卡并仍支持这些旧版本 SDK 的最佳方式是什么?

0 投票
2 回答
4270 浏览

android - 布局中定义的 TabHost 在 setContent 期间给出 NullPointerException

我正在尝试Tabs1.java从 Android API Demos 16(并在 API 16 模拟器上运行)进行修改以使用标准Activity而不是已弃用的TabActivity类。我创建了一个新的布局文件并修改了代码。

我尝试使用这种方法而不是操作栏的原因是选项卡不适用于整个屏幕,仅适用于较小的子视图。

当我执行代码时,我在执行以下行时得到了一个NullPointerException内部 Android方法:setContent

tabHost.newTabSpec("tab1").setIndicator("tab1").setContent(R.id.view1)

任何想法为什么会发生这种情况?完整的堆栈跟踪在代码和布局之后。

Tabs1VanillaActivity.java

tabs1.xml:

堆栈跟踪:

0 投票
3 回答
2627 浏览

android - 在 dispatchCreateOptionsMenu 期间轮换出现 NullPointerException,堆栈跟踪不包括我的应用程序中的任何函数

我有一个使用 ICS 操作栏上的选项卡的应用程序,其中每个选项卡内部都有一个片段。在某些情况下,在我按下操作栏上的选项菜单上的按钮,然后旋转设备后,我会收到 NullPointerException。我可以使用相同的步骤可靠地重现它,但是在某些情况下(例如,如果我不按操作栏上的任何按钮)不会产生异常。该异常似乎没有引用我的代码中的任何行,并且在方向更改后重新创建活动期间发生。

这是一个例外:

这是我的活动代码(为了简单起见,删除了一些不相关的代码)

关于我的应用程序和解释事情的代码的一些注释:

  • 该应用程序显示一个主片段和一个侧边栏片段
  • 选项菜单包含三个按钮:一个用于将侧边栏从屏幕一侧切换到另一侧,一个用于隐藏侧边栏,一个用于锁定方向
  • 主片段始终是选项卡列表中的第一个,并且始终是 MainFragment 类型
  • 我在运行 ICS(Asus Trans Prime,4.0.4;HTC Vivid,4.0.3)和模拟器(ICS 4.0.3 和 JB 4.1)的两台设备上运行它。这只发生在 ICS 上。

异常按以下顺序发生:

  • 启动应用程序
  • 按下按钮隐藏侧边栏
  • 旋转装置

如果在旋转设备之前发生任何其他事情,则不会发生异常。例如,如果侧边栏未隐藏,我不会得到异常。如果先旋转设备,则永远不会发生异常,因此即使隐藏侧边栏,再次旋转设备,我也不会收到异常。而且堆栈跟踪没有引用我的代码中的单个函数,所以我什至可以找到根本原因。

似乎这是 FragmentManager.java(android.app 包)中引发异常的函数:

mAdded在尝试使用它之前没有空检查。JB 中的相同功能替换(mActive != null)(mAdded != null). 但我不知道我可以为 ICS 做些什么来避免这种情况。

有人有什么想法吗?我已经搜索过 StackOverflow 寻找类似的问题,但到目前为止都是空的。谢谢!如果还有什么我需要发布的,请告诉我,我会添加它。

0 投票
4 回答
1201 浏览

android - android - 当我在选项卡中使用 onActivityResult() 时不会调用它(zxing 扫描仪)

我使用zxing 扫描仪来扫描条形码和二维码,因为它是开源的。它工作正常,除了在选项卡中意味着我在选项卡组中使用了相同的代码,但在这里它不起作用。问题是 onActivityResult() 没有被调用。我们该如何解决这个问题。

子活动

活动组

日志

0 投票
1 回答
884 浏览

android - 使用 ActionBarSherlock 跨片段使用一个通用按钮

我使用 ActionBarSherlock 在我的应用程序上获取了一些 Holo 主题选项卡和一个 ActionBar,并创建了一个片段来处理每个选项卡上的行为。我希望底部的选项卡和按钮将片段“夹在中间”,在屏幕底部会有一个按钮,该按钮将在两个片段中都有一个单击侦听器。

在我的活动中,我创建了这样的选项卡。

然后我创建了 onTabSelected

让选项卡显示或更改我没有问题,但我似乎无法弄清楚如何获得一个按钮,该按钮将在屏幕底部排列并在此活动中保持静止,但仍然允许我在两者之间切换碎片。

0 投票
1 回答
241 浏览

android - 可以将菜单项添加到窄屏幕上的选项卡式操作栏吗?

我在一个狭窄的屏幕上有一个选项卡式操作栏,如下图所示:

在此处输入图像描述

我还想将“始终显示”菜单项挤压到主操作栏。但是,当我将菜单项引入布局时,会在选项卡栏的正下方创建仅包含菜单项的第二个操作栏。

当然,在添加菜单项之前,我已经禁用了操作栏图标和标题(使用setDisplayShowHomeEnabled(false)setDisplayShowTitleEnabled(false))来获取单行操作栏。

是否可以使用标准操作栏来完成此操作?

0 投票
1 回答
2997 浏览

android - 指定的孩子已经有父母

这个问题已经在这里被问过很多次了,但是我找不到任何帮助。我正在编写一个 android 应用程序,并且似乎在 ActionBar 上创建选项卡时遇到了问题。我一直在寻找问题几个小时,但似乎找不到解决方案,但我想我确实找到了根源。我什至清空了实现只是为了获得一些结果并在它们的基础上进行构建,但可惜我什么也没找到。

这是选项卡片段的创建并插入到操作栏

这是该类的 onCreateView 方法

这是片段 XML 布局

正如你所看到的,实现是空的,我没有在这个时间之前(而不是之后)实例化这个片段但是我得到这个错误:

我认为这与将选项卡添加到操作栏有关,因为当我注释掉actionBar.addTab()应用程序确实运行时(显然没有选项卡)

我真的很想知道如何解决这个问题。

谢谢各位大佬