web-dev-qa-db-ja.com

Androidでアクティビティのタイトルを変更するには?

使ってます

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

私の現在のアクティビティのタイトルを変更することはできますが、うまくいかないようです。

これを変更する方法について誰かが私を導くことができますか?

207
UMAR

このように、setTitleを単独で試してください。

setTitle("Hello StackOverflow");
473
jeffh

参考までに、XMLからオプションとしてそれを行うことができます。

AndroidManifest.xmlでは、次のように設定できます。

Android:label="My Activity Title"

または

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>
224
BullShark

あなたがそれを一度欲しいならば、そしてシステムに残り(動的ではない)を扱わせますそしてあなたのマニフェストファイルでこのようにしてください:

<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>
24
hB0
setTitle(getResources().getText(R.string.MyTitle));
14
Gennady Kozlov

これは私のために働きました。

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment, container, false);
    getActivity().setTitle("My Title");
//...
}
9
moberme

もっと速い方法があります、ただ使うだけです。

YourActivity.setTitle("New Title");

これを使ってonCreate()の中に見つけることもできます。例えば:

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

ところで、単純にできないのは、Activityオブジェクトを渡さずに静的にsetTitle()を呼び出すことです。

7
Defrag

複数のアクティビティがある場合は、AndroidManifest.xmlでこのように設定できます。

<application
    Android:allowBackup="true"
    Android:icon="@mipmap/ic_launcher"
    Android:label="@string/app_name"
    Android:supportsRtl="true"
    Android:theme="@style/AppTheme">
    <activity Android:name=".MainActivity">
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        Android:name=".NumbersActivity"
        Android:label="@string/category_numbers"
        Android:theme="@style/category_numbers" />
    <activity
        Android:name=".FamilyActivity"
        Android:label="@string/category_family"
        Android:theme="@style/category_family" />
    <activity
        Android:name=".ColorsActivity"
        Android:label="@string/category_colors"
        Android:theme="@style/category_colors" />
    <activity
        Android:name=".PhrasesActivity"
        Android:label="@string/category_phrases"
        Android:theme="@style/category_phrases" />
    <activity
        Android:name=".ExperimentActivity"
        Android:label="@string/category_experiment"
        Android:theme="@style/category_experiment" />
</application>
4
SGX

私はAndroid Studio 3.0.1を使用しています。

活動とは:

setTitle("Title Text");

フラグメントの内側:

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

自分のアクティビティにツールバーがあり、すべてのタイトルを上書きする基本アクティビティがあります。そのため、アクティビティのonResume()でsetTitleを使用する必要がありました。

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

Javaファイルにタイトルを設定したい場合は、onCreateにアクティビティを書き込みます。

setTitle("Your Title");

あなたがマニフェストにしたいなら、それから書く

    <activity
        Android:name=".MainActivity"
        Android:label="Your Title" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
1
user6395256

コードは私がタイトルを変えるのを助けました。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_name);
    ActivityName.this.setTitle("Your Activity Title");}
1
Rohan Gupta

ボタンをクリックしてアクティビティを変更したときに、アクティビティのタイトルを変更したい場合。 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);
0
Egor Voevodin

onCreateOptionsMenを使用している場合は、onCreateOptionsMenuにsetTitleコードを追加することもできます。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);

    setTitle("Neue Aktivität");
    return true;
}
0
Umut D.