我在用

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

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

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


当前回答

如果你想要它一次,让系统处理剩下的(不是动态的),那么在你的manifest文件中这样做:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name_full" > //This is my custom title name on activity. <- The question is about this one.
            <intent-filter android:label="@string/app_launcher_name" > //This is my custom Icon title name (launcher name that you see in android apps/homescreen)
                <action android:name="android.intent.action.MAIN" />

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

其他回答

如果你想改变活动标题时,你改变活动点击按钮。在MainActivity中声明必要的变量:

    private static final String TITLE_SIGN = "title_sign";
    ImageButton mAriesButton;

在onCreate()中添加onClickListener,并为另一个活动创建新意图:

    mTitleButton = (ImageButton) findViewById(R.id.title_button);
    mTitleButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(MainActivity.this, 
        SignActivity.class);
        String title_act = getText(R.string.simple_text).toString();
        intent.putExtra("title_act", title_act);
        startActivity(intent);
        finish();
        }
    });

onCreate()中的SecondActivity代码:

    String txtTitle = getIntent().getStringExtra("title_act");
    this.setTitle(txtTitle);

MainActivity内部:

public class act1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.act1);

    setTitle("First Activity");

}

}

在Kotlin中,这样做:

this.title = resources.getText(R.string.fast_learning)

setTitle(“欢迎活动”);

我使用的是Android Studio 3.0.1。

有一个活动:

setTitle("Title Text");

在一个片段内:

getActivity().setTitle("Title Text");