选项卡视图有问题,无法设置内容视图

发布于 2024-12-04 23:40:37 字数 489 浏览 0 评论 0原文

我将在帖子底部链接我的所有文件

我的问题是,我有一个选项卡视图,当前有两个选项卡。 这些选项卡都是一个单独的活动,它扩展了 CustomMenuActivity。这样两个活动就可以共享相同的选项菜单。

在我的选项菜单中,我有一个上一个按钮,因此可以调用另一个方法来设置我的内容视图。这给了我一个 NullPointerException 。

这与我在另一个方法中设置内容视图有关。

有什么办法可以解决这个问题,或者以某种方式解决这个问题吗?

http://pastebin.com/PR7uMTYC - XML file
http://pastebin.com/VsMrMggn - GuideActivity.java
http://pastebin.com/YVdS6P4j - JAndroidTroubleShooter.java
http://pastebin.com/CpjwM07j - CustomMenuActivity.java

I'll link all of my files in the bottom of my post

My problem is that, I have a tab view, currently with two tabs.
These tabs are each a seperate activity, which extends CustomMenuActivity. This is so that both activities can share the same options menu.

In my options menu, I have a previous button, so that, that calls another method, that sets my content view. That gives me a NullPointerException.

It has something to do with the fact that I am setting my content view inside another method.

Is there any way to fix that, or work around it somehow?

http://pastebin.com/PR7uMTYC - XML file
http://pastebin.com/VsMrMggn - GuideActivity.java
http://pastebin.com/YVdS6P4j - JAndroidTroubleShooter.java
http://pastebin.com/CpjwM07j - CustomMenuActivity.java

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦一生花开无言 2024-12-11 23:40:37

如果您想要在所有选项卡中使用的菜单完全相同,您可以执行以下操作:

  1. 而不是让每个选项卡膨胀自己的菜单 - 膨胀菜单
    在 TabActivity 本身上。
  2. 创建每个选项卡都可以实现的接口,声明菜单将在不同选项卡上调用的方法。
  3. 在 TabActivity 中,您可以像这样获取当前可见的选项卡:

    Activity 活动 = getLocalActivityManager().getActivity(getTabHost().getCurrentTabTag());
    

然后确保相关活动实现您的接口并调用相关方法:

    if (activity instanceof MyTabInterface)
        ((MyTabInterface) activity).callThisMenuMethod();

Provided that the menu you want in all tabs is exactly the same you can do as follows:

  1. Instead of having each Tab inflate its own menu - inflate the menu
    on the TabActivity itself.
  2. Create an interface that each Tab can implement, declaring the methods that the menu will call on the different Tabs.
  3. In your TabActivity you can get the current visible Tab like this:

    Activity activity = getLocalActivityManager().getActivity(getTabHost().getCurrentTabTag());
    

Then you make sure that the activity in question implements your interface and call the relevant method:

    if (activity instanceof MyTabInterface)
        ((MyTabInterface) activity).callThisMenuMethod();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文