我在用

Window w = getWindow();
w.setTitle("My title");

要更改我当前活动的标题,但似乎不工作。

有人能告诉我怎么改变吗?


当前回答

setTitle(getResources().getText(R.string.MyTitle));

其他回答

试试setTitle本身,像这样:

setTitle("Hello StackOverflow");

仅供参考,您可以选择从XML执行此操作。

在AndroidManifest.xml中,你可以用

android:label="My Activity Title"

Or

android:label="@string/my_activity_label"

例子:

    <activity
        android:name=".Splash"
        android:label="@string/splash_activity_title" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

有个更快的方法,用

YourActivity.setTitle("New Title");

你也可以在onCreate()中找到它,例如:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.setTitle("My Title");
    }

顺便说一下,您根本不能在不传递任何Activity对象的情况下以静态方式调用setTitle()。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.Main_Activity);
    this.setTitle("Title name");
}

我有一个工具栏在我的活动和基础活动,覆盖所有的标题。所以我必须在onResume()在活动中使用setTitle,就像这样:

@Override
  protected void onResume() {
    super.onResume();
    toolbar.setTitle(R.string.title);
  }