ชื่อแถบเครื่องมือ 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);
    }
}

แถบเครื่องมือ.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>

comment
กรุณาเพิ่มรหัสที่คุณได้ตั้งชื่อประวัติ   -  person Haresh Chhelana    schedule 21.03.2017
comment
ฉันขอโทษที่ชื่อเป็นประวัติศาสตร์และรายงาน   -  person Listo    schedule 21.03.2017
comment
ชื่ออะไรก็ตามที่คุณตั้งไว้ให้เพิ่มรหัสนั้นในคำถามของคุณ   -  person Haresh Chhelana    schedule 21.03.2017
comment
คุณจะพบสิ่งนั้นได้ในวิธี OnCreate ที่ฉันเพิ่มโค้ดด้านบน   -  person Listo    schedule 21.03.2017
comment
setTitle() หลังจาก setToolbar()   -  person Nizam    schedule 21.03.2017
comment
เปลี่ยนแต่ไม่เปลี่ยน.   -  person Listo    schedule 21.03.2017
comment
แบ่งปันเค้าโครงแถบเครื่องมือของคุณ   -  person Zubair Akber    schedule 21.03.2017
comment
โทร getSupportActionBar().setTitle("History & Reports"); เมื่อสิ้นสุดหรือหลังการโทรด้วยวิธีการ setToolbar() ของคุณ   -  person Mike M.    schedule 21.03.2017
comment
มันได้ผล..!!! ขอขอบคุณ: Mike M.   -  person Listo    schedule 21.03.2017


คำตอบ (9)


ชื่อแถบเครื่องมือสามารถตั้งค่าได้สองวิธี

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);
person Mirza Asad Baig    schedule 13.03.2018
comment
ตรวจสอบให้แน่ใจว่ากิจกรรมเป็น AppCompatActivity - person Mirza Asad Baig; 16.11.2018

ฉันใช้บรรทัดด้านล่างเพื่อเปลี่ยนชื่อแถบเครื่องมือ

getSupportActionBar().setTitle("YOUR_TITLE");
person Shashidhar Mayannavar    schedule 21.03.2017
comment
@Listo ดีใจที่มันช่วยได้ - person Shashidhar Mayannavar; 21.03.2017

ตั้งชื่อในเลย์เอาต์ของคุณตามที่ฉันทำด้านล่าง

    <?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);
person Zubair Akber    schedule 21.03.2017

หลังจากบรรทัดนี้ toolbar = findViewById(R.id.toolbar); เพิ่ม toolbar.setTitle("History & Reports");

และลบ setTitle("History & Reports");

person Rachit    schedule 21.03.2017
comment
ขอบคุณสำหรับการตอบกลับอย่างรวดเร็ว แต่ไม่มีการเปลี่ยนแปลง - person Listo; 21.03.2017
comment
@Listo เพิ่มสิ่งนี้ด้วยคำแนะนำ Rachit getSupportActionBar().setDisplayShowTitleEnabled(true); - person Bahu; 21.03.2017

เปลี่ยนโค้ดของคุณเล็กน้อยมีลักษณะเช่นนี้ ..

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

และหลังจากดู setToolbar

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

ดังที่ Mike M กล่าว

ฉันเพิ่งเพิ่ม getSupportActionBar().setTitle("History & Reports"); ที่ส่วนท้ายหรือหลังจากเรียกใช้เมธอด setToolbar() ของคุณ

person Listo    schedule 21.03.2017

ลองเพิ่ม getsupportActionBar().setTitle();

person nkoroi    schedule 21.03.2017
comment
setSupportActionBar(toolbar) - พวกเขาใช้ธีม NoActionBar อยู่แล้ว - person Mike M.; 21.03.2017

ฉันได้พบวิธีแก้ปัญหาแล้ว

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

อันนี้ใช้ได้สำหรับฉัน

person Ankur Bavishi    schedule 19.09.2017

หากคุณใช้แถบเครื่องมือที่รองรับ 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");
person MohammadL    schedule 09.02.2018