gpt4 book ai didi

android - Double ActionBar出现了吗?

转载 作者:行者123 更新时间:2023-11-29 18:05:54 25 4
gpt4 key购买 nike

这是我的第一个 Android 应用程序,我已经做了 3 年的 iPhone 开发人员,这是一种思维方式的改变,但我仍然发现有些事情很奇怪。首先,我不知道这个 iPhone 背景是否会造成一些麻烦,但这是我正在尝试做的事情:

我想实现一个带有两个选项的 ActionBar,就像 iOS 中的 TabBar 一样:

ActionBar

我想要的是当用户选择一个 Action 时,一些 Activity 将呈现给用户。

这是我目前所做的(不是那么多):

  • 我正在使用 ActionBarSherlock,我有 3 个 Activity :myApp、First 和 Second

myapp.java 仅创建 ActionBar 元素并加载 activity_first:

package com.example.myApp;

import com.actionbarsherlock.ActionBarSherlock;
import com.actionbarsherlock.view.MenuItem;

import android.os.Bundle;

import com.actionbarsherlock.ActionBarSherlock.OnCreateOptionsMenuListener;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;

public class myApp extends SherlockActivity implements OnCreateOptionsMenuListener {
ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this);

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setTitle("myApp");
mSherlock.setContentView(R.layout.activity_first);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("First")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

menu.add("Second")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

return true;
}
}

除了生成的 stub 之外,到目前为止, Activity 没有任何内容:

import android.app.Activity;
import android.os.Bundle;

public class First extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);


}
}

所以我有 1 个问题和 1 个问题:

  1. 问题:这是对 ActivityBar 的正确使用吗?我的意思是,它应该用于切换 Activity 吗?
  2. 问题:正如您在 myApp 类的 OnCreate 方法中看到的那样,我加载了 activity_first,它确实加载了 Activity ,但是它加载了 ActionBar 两次,像这样:

enter image description here

我不明白为什么要加载两次。如果我删除行:mSherlock.setContentView(R.layout.activity_first); 它会加载一次 Bar,显然我需要加载 Activity ...

我还在 XML (activity_first.xml) 的图形编辑器中将 NoActionBar 主题分配给 activity_first,但它不起作用。我该怎么做才能加载它一次。

感谢您抽出宝贵的时间

最佳答案

Is this the correct use of an ActivityBar? I mean, should it be used to switch activities?

您可以将“First”和“Second”视为桌面应用程序中的工具栏按钮。如果您愿意,欢迎您让这些操作栏项目启动 Activity 。

As you can see in the OnCreate method of myApp class, I'm loading the activity_first, It does load the activity, however it loads the ActionBar Twice, like so:

删除这一行:

ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this);

并将 mSherlock.setContentView(R.layout.activity_first); 更改为 setContentView(R.layout.activity_first);。我相信这会解决您的问题。

关于android - Double ActionBar出现了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com