web-dev-qa-db-ja.com

Androidツールバーのタイトル

ツールバーのタイトルを変更できません_manifeast.xml_でタイトルを設定し、setTitle("TITLE");も使用しました

タイトルを履歴とレポートに設定しましたが、別のタイトルが表示されます通知これは別のアクティビティタイトルです。

_manifeast.xml_を確認しましたが、変更はありません。誰か助けてくれませんか。

これが私のコードです

_public class Nav_HistoryAndReports extends AppCompatActivity {

private Toolbar toolbar;
private TabLayout tabLayout;
private ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTitle("History & Reports");
    setContentView(R.layout.nav_history_and_reports);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setToolbar(toolbar);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
}

public void setToolbar(Toolbar toolbar) {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new FragmentHistoryAndReports_Visits(), "VISITS");
    adapter.addFragment(new FragmentHistoryAndReports_Visitors(), "VISITORS");
    adapter.addFragment(new FragmentHistoryAndReports_Map(), "MAP");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}
_

toolbar.xml

_<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    Android:id="@+id/toolbar"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_margin="1dp"
    Android:background="@color/white"
    Android:fitsSystemWindows="true"
    Android:minHeight="?attr/actionBarSize"
    Android:titleTextColor="@color/colorPrimary"
    app:layout_scrollFlags="scroll|enterAlways"
    app:navigationIcon="?attr/homeAsUpIndicator"
    app:theme="@style/GalaxyZooThemeToolbarDarkOverflow">

</Android.support.v7.widget.Toolbar>
_
5
Listo

ツールバーのタイトルは2つの方法で設定できます

1。レイアウトXML内

<Android.support.design.widget.AppBarLayout

Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="56dp"
Android:elevation="4dp"
Android:theme="@style/AppTheme.AppBarOverlay"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto">

    <Android.support.v7.widget.Toolbar
        Android:id="@+id/toolbar"
        app:title="Main Activity"
        Android:layout_width="match_parent"
        Android:layout_height="?attr/actionBarSize"
        Android:background="?attr/colorPrimary"
        app:navigationIcon="@drawable/ic_arrow_back_white_24dp"

        app:popupTheme="@style/AppTheme.PopupOverlay" />

</Android.support.design.widget.AppBarLayout>

2。Javaの場合 AppCompatActivityで機能します

Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle("Notice Board"); 
setSupportActionBar(toolbar);
5
Asad Mirza

下の行を使用してツールバーのタイトルを変更しました

getSupportActionBar().setTitle("YOUR_TITLE");

この行の後にtoolbar = findViewById(R.id.toolbar); add toolbar.setTitle("History & Reports");

setTitle("History & Reports");を削除します

1
Rachit

私は解決策を見つけました

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null)
        getSupportActionBar().setTitle(getString(R.string.calender));

これは私のために働く

1
Ankur Bavishi

以下のようにレイアウトにタイトルを設定します

    <?xml version="1.0" encoding="utf-8"?>
    <Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:app="http://schemas.Android.com/apk/res-auto"
        Android:id="@+id/toolbar"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_margin="1dp"
        Android:background="@color/white"
        Android:fitsSystemWindows="true"
        Android:minHeight="?attr/actionBarSize"
        Android:titleTextColor="@color/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways"
        app:navigationIcon="?attr/homeAsUpIndicator"
        app:theme="@style/GalaxyZooThemeToolbarDarkOverflow">

        <TextView
            Android:id="@+id/textViewTitle"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/app_name"
            Android:layout_marginLeft="5dp"
            Android:textAppearance="@Android:style/TextAppearance.DeviceDefault.Large"/>

    </Android.support.v7.widget.Toolbar>

アクティビティでは、ツールバーを設定し、次のようにデフォルトのタイトルを無効にするだけです。

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    if(actionBar != null)
        actionBar.setDisplayShowTitleEnabled(false);
1
Zubair Akber

actionBarをサポートするツールバーを使用する場合は、次のコードを実行する必要があります。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favorite);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

try {
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
} catch (NullPointerException e) {
    Log.d(TAG, "onCreate: back button not supported!");
}

// here you set your activity title
getSupportActionBar().setTitle("Your Activity Title");
1
MohammadL

getsupportActionBar()。setTitle();を追加してみてください。

0
nkoroi

コードを少し変更すると、次のようになります。

 toolbar = (Toolbar) findViewById(R.id.toolbar);
 setToolbar(toolbar);

そしてsetToolbarルックの後

 public void setToolbar(Toolbar toolbar) {
    toolbar.setTitle("History & Reports");
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
0
Joy

としてマイクM言った

SetToolbar()メソッドの最後または呼び出し後にgetSupportActionBar().setTitle("History & Reports");を追加しました。

0
Listo