无需任何代码即可在 xml 文件中定义 Tabhost/TabWidget + 内容 - 这可能吗?

2024-03-11

是否可以仅在布局 xml 文件中定义选项卡布局?每次我找到 tabhost 教程时,它都只能与一些额外的 java 代码一起使用。

这是我的 test.xml,它不显示任何选项卡:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/linearLayout">
    <TextView android:text="@string/app_name" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView1" android:textAppearance="?android:attr/textAppearanceLarge"></TextView>
    <TabHost android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent">
        <TabWidget android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@android:id/tabs">
        </TabWidget>
        <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/tabcontent">
            <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/tab1">
                <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TAB 1"/>
            </LinearLayout>   
            <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/tab2">
                <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TAB 2"/>
            </LinearLayout>
        </FrameLayout>
    </TabHost>
</LinearLayout>

这是不可能的,因为TabSpec http://developer.android.com/reference/android/widget/TabHost.TabSpec.html是代表 TabHost 中每个选项卡的 Holder 类。 并且没有指定要放入 xml 布局中的 TabSpec xml 等效标记。

即使通过代码,对于 TabSpec,也必须指定指示符和内容。否则它会抛出

IllegalArgumentException: you must specify a way to create the tab content

or

IllegalArgumentException: you must specify a way to create the tab indicator.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无需任何代码即可在 xml 文件中定义 Tabhost/TabWidget + 内容 - 这可能吗? 的相关文章

  • Android ToggleButton 始终检查

    如果切换按钮处于选中或取消选中状态 我想存储在 SharedPreferences 中 toggle setOnCheckedChangeListener new OnCheckedChangeListener public void on
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • 无法在 Android Studio 中导出签名的 APK

    当我使用keytool list keystore path to keyfile jks并提供我的密码 我可以看到那里的条目 但是当我在尝试使用相同的密码生成签名的 APK 时使用相同的密码时 我收到错误 无法加载密钥库 密钥库被篡改 或
  • 写入 Android UI Automator 输出控制台

    我正在 Android UI Automator 上编写一个小包装器 通常我们可以在控制台看到测试用例的状态 我可以访问它并添加我自己的消息吗 我努力了System out println 但这没有用 有什么办法可以做到这一点吗 您可以使用
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • 如何使用 RecyclerView 创建此布局?

    我正在尝试使用这种类型的布局创建回收器视图 这些项目是字符串 可以以不同的大小出现 我不知道每行中有多少项目 我可以使用 StaggeredGridLayoutManager 来做到这一点吗 该图像只是一个假示例 每行可以有更多项目 您可能
  • 如何在Android中的DataBinding的ViewModel类中获取R.string

    我目前正在使用databinding对于我的 Android 应用程序项目 我想设置error留言在我的CustomTextView from R string txtOldPassWordError并从另一个名为的类中进行设置ViewMo
  • 如何使用 Google 的 GithubBrowserSample 方法在片段之间共享视图模型?

    我对 Android 架构组件的使用非常陌生 因此我决定使用 GithubBrowserSample 来构建我的应用程序来实现我的许多用例 但我有一个问题 我不知道使用这种方法在片段之间共享视图模型的正确方法是什么 我想共享视图模型 因为我
  • 如何绘制部分位图圆弧?类似于圆形进度轮,但具有显示得越来越多的位图。

    我正在寻找的是一种以顺时针圆形方式显示图像的视图 当进度为 25 时 应显示前 90 度 当进度为 100 时 应绘制完整的 360 度 它与使用 canvas drawArc 非常接近 但此方法仅适用于 Paint 对象 不适用于位图 其
  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • Android Google Map V2:如何在单击另一个标记时更改先前单击的标记的图标

    更新 我通过添加 previousMarker 对象解决了性能问题 因此 只有先前单击的标记将被删除并替换为默认图标 但是 当我单击标记时 信息窗口仍然不显示 我有一个地图视图并在上面设置了一些标记 我想要的是 当我单击一个标记时 它将其图
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • 使 Recyclerview 固定高度并可滚动

    已解决以下检查答案 所以我试图为我的 Android 应用程序创建评论功能 我想在 recyclerview 中显示评论 然后在 recyclerview 下方有一个按钮和文本视图来添加评论 我想让 recyclerview 具有一定的高度
  • 如何知道我的应用程序的活动计数?

    我的应用程序中有多项活动 请考虑以下案例 Activity A 调用 Activity B B 调用 C 当用户按后退键时 C 生成通知并转到 B 现在再次按后退 因此将显示 A 再次按后退键也会终止 A 并显示通知 现在 当用户按下通知图
  • 调试android数据绑定?

    谁能告诉我如何调试或找到数据绑定生成的代码 从this https www youtube com watch v NBbeQMOcnZ0链接我发现它生成了所需的代码 我猜您正在寻找自动生成的绑定 java 文件 我也在寻找他们 最后我在这
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • 动态更改按钮上的图像视图

    在我的应用程序中 我有按钮和ImageView 当我按下按钮时我想改变ImageView 我的可绘制文件夹中有 5 张图像 按下按钮时 ImageView 根据按钮单击一张一张地更改图像 我想要它的解决方案 感谢任何可以提供帮助的人 维护一
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 保持 Windows Mobile 应用程序在待机模式下运行

    我有一个简单的 Windows Mobile 应用程序 用于记录 GPS 坐标 每 5 分钟一次 问题是只要屏幕正常 应用程序就可以正常工作 打开后 一旦手机进入待机模式 应用程序就会停止工作 当我打开设备时 应用程序再次开始工作 我该怎么
  • 如何按数组内的属性查询嵌套对象?

    我收集了数千个 可能 30 40k 文档 其结构 大大简化 如下 propA 123 obj prop1 a prop1 b prop1 c propB 456 我如何查询以找到所有文档obj prop1 b 我似乎无法弄清楚如何检查数组属
  • 如何获得两个范围的重叠范围

    我在区间 1 15 中有以下范围 我想找到人 1 和人 2 之间的重叠范围 人物 1 1 3 5 10 人物 2 2 4 8 15 这里我应该得到一个范围列表 其中 2 3 8 10 到目前为止我发现的是先按 person1 的范围循环 然
  • Where 子句中的 SQL Row_Number() 函数

    我发现一个问题的答案是Row Number where 子句中的函数 当我尝试一个查询时 我收到以下错误 消息 4108 级别 15 状态 1 第 1 行 窗口函数只能出现在 SELECT 或 ORDER BY 子句中 这是我尝试过的查询
  • Laravel - php artisan view:clear 有什么作用?

    我运行一个命令php artisan view clear 正如我遵循 Laravel 中自定义 404 页面的教程一样 正如所解释的 该命令清除所有编译的视图文件 进一步我在 laravel 文档中查找它 它说它从视图文件中删除缓存 我问
  • 在 kohana v3 中显示“闪现消息”的最佳方式是什么?

    我想知道最好的展示方式闪讯在 Kohana v3 中 一些教程或示例会很有帮助 你的意思是像 Kohana 2 x 的 flash 会话变量吗 最新的 Kohana 支持get once https github com kohana co
  • 无法从程序集“mscorlib”加载类型“System.Security.Principal.WindowsImpersonationContext”

    我正在创建一个 ASP NET API Core 应用程序来处理与 Oracle 数据库通信的 API 服务 在运行时 当进程尝试通过 DbContext 实体框架 使用新的 Oracle 连接连接到数据库时 会出现未处理的错误并强制应用程
  • SQL 数据读取器 - 处理空列值

    我正在使用 SQLdatareader 从数据库构建 POCO 除非在数据库中遇到空值 否则该代码将正常工作 例如 如果数据库中的 FirstName 列包含空值 则会引发异常 employee FirstName sqlreader Ge
  • 部署网站时缺少 using 指令或程序集引用错误

    我有一个网站 其中 cs 文件位于 App Code 文件夹中 在我的项目中添加类项时 VS2010 建议我创建此文件夹 我有一个使用此类的 default aspx cs 文件 我在VS2010上运行没有任何错误 但是 当我通过私人托管公
  • 找到重复元素异或运算符数组中的两个非重复元素?

    假设我有一个包含 2n 2 个元素的数组 数组中的 n 个元素出现了两次 其余两个元素是唯一的 你必须在 O n 时间和 O 1 空间内解决这个问题 解决方案之一是使用 XOR 但我无法理解这一点 任何人都可以帮助我解决这个问题或者可以给我
  • 更改声音文件的速度

    我正在寻找改变声音文件的速度 但不知道如何实现它 我假设在减慢速度的情况下必须进行某种类型的插值 但不确定如何实现加速 也许是几个样本的平均值 无论是改变节奏还是音调 目前并不重要 我想学习如何实现这两者 但至少想先完成其中一个 如果有人对
  • 如何更改32位寄存器的特定位而不更改其他位?

    我想直接使用寄存器的物理地址来操作寄存器的某些位 但是我找不到方法来做到这一点 我看到一些关于设置位掩码的帖子 但我发现它们太令人困惑了 我的寄存器物理地址是 0x4A10005C 我想操纵它的 18 16 位之间的位 我想设置0x3在那些
  • 这个模板语法“typename = T”是什么意思?

    有时我会看到这样的语法 template
  • 如何使用 PAC(代理自动配置)通过 Fiddler 调试 Htmlunit 流量

    我有一个使用 Htmlunit 的应用程序 需要放置 Fiddler 来拦截流量 我读了一些有关通过附带的 PAC 代理自动配置 javascript 文件配置它的内容 但我无法再次找到该文章 如何通过 PAC 配置 Htmlunit PA
  • 为什么声明字符串时不需要分配内存[重复]

    这个问题在这里已经有答案了 我是 C 新手 目前我正在尝试了解指针是如何工作的 这是一个让我困惑的问题 据我所知 在给指针赋值之前 应该为该指针分配一定的内存 如果我错了 请纠正我 如下面的代码 int main void int i in
  • 从 Haskell 列表中删除重复元素

    我是 Haskell 的初学者 我只是想知道如何实现一个函数来从数组中删除重复元素 例如 1 1 1 3 4 2 2 3 结果应为 1 3 4 2 我不想使用一些现有的函数 例如 element 并通过使用递归来实现它 我的想法是比较 x
  • 调暗屏幕的正确方法是什么?

    到目前为止 我在搜索中看到了两种方法 这两种方法我都遇到了麻烦 方法一 Settings System putInt getContentResolver Settings System SCREEN BRIGHTNESS 100 方法2
  • 我应该使用 ASP.NET 会话还是避免使用它们,为什么?

    我应该使用 ASP NET 会话还是避免使用它们 为什么 对于新的应用程序 我试着避开他们 https stackoverflow com questions 526697 upgrade from net 3 0 to 3 5 sites
  • DirectX 与 VB.NET

    是否有一组有关 DirectX 9 或更高版本 的文档 其中显示了将 DirectX 9 或更高版本 与 VB NET 一起使用的对象 方法 属性 事件和示例代码 最新的 SDK 包含 C 的详细信息 而 Windows DiectX 图形
  • 无需任何代码即可在 xml 文件中定义 Tabhost/TabWidget + 内容 - 这可能吗?

    是否可以仅在布局 xml 文件中定义选项卡布局 每次我找到 tabhost 教程时 它都只能与一些额外的 java 代码一起使用 这是我的 test xml 它不显示任何选项卡