ツールバーのタイトルを変更できません_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>
_
ツールバーのタイトルは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);
下の行を使用してツールバーのタイトルを変更しました
getSupportActionBar().setTitle("YOUR_TITLE");
この行の後にtoolbar = findViewById(R.id.toolbar);
add toolbar.setTitle("History & Reports");
setTitle("History & Reports");
を削除します
私は解決策を見つけました
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(getString(R.string.calender));
これは私のために働く
以下のようにレイアウトにタイトルを設定します
<?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);
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");
getsupportActionBar()。setTitle();を追加してみてください。
コードを少し変更すると、次のようになります。
toolbar = (Toolbar) findViewById(R.id.toolbar);
setToolbar(toolbar);
そしてsetToolbarルックの後
public void setToolbar(Toolbar toolbar) {
toolbar.setTitle("History & Reports");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
としてマイクM言った
SetToolbar()メソッドの最後または呼び出し後にgetSupportActionBar().setTitle("History & Reports");
を追加しました。