Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 片段中的工具栏标题_Android - Fatal编程技术网

Android 片段中的工具栏标题

Android 片段中的工具栏标题,android,Android,当片段被更改时,如何更改Textview内部工具栏?我的工具栏位于BaseActivity中,因此我可以在所有活动中使用 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSiz

当片段被更改时,如何更改
Textview
内部
工具栏
?我的工具栏位于
BaseActivity
中,因此我可以在所有活动中使用

<android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:popupTheme="@style/AppTheme.PopupOverlay">

                <FrameLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/toolbar_title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_marginBottom="4dp"
                        android:layout_marginLeft="20dp"
                        ndroid:layout_marginRight="attr/actionBarSize"
                        android:layout_marginTop="4dp"
                        android:textColor="@color/colorAccent2"
                        android:textSize="19sp"
                        tools:ignore="HardcodedText" />


                </FrameLayout>
            </android.support.v7.widget.Toolbar>

您可以使用以下行轻松更改标题:

((MyAppCompatBaseActivity)getActivity()).getSupportActionBar().setTitle("Hello World!");
编辑:

我刚刚看到您的
工具栏中有一个
文本视图
。因此,要设置标题,请在BaseActivity中执行以下操作:

public class BaseActivity extends AppCompatActivity {

    TextView textViewTitle;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // Other Code
        textViewTitle = (TextView) findViewById(R.id.toolbar_title);
    }

    public void setTitle(String title) {
        textViewTitle.setText(title);
    }

}
然后在片段中,只需执行以下操作:

((BaseActivity)getActivity()).setTitle("Hello World!");
只需在
onCreateView()方法中执行此操作即可

编辑1:

要在
中心制作
标题
,您需要制作
布局
,如下所示


文本视图
和工具栏在
基本活动
中公开。现在在片段中使用以下代码

((BaseActivity)getActivity()).yourTextView.setText("HOME");
只需添加到代码中

((MainActivity) getActivity()).getSupportActionBar().setTitle("Yeeee");

那没用。因为我的片段在选项卡布局中,它为我的所有片段提供了标题相同的标题。如果我将e.x的片段从第1个更改为第2个或从第3个更改为第2个,它似乎可以工作,但不会更新标题。为什么?保持这行
((BaseActivity)getActivity()).setTitle(“Hello World!”)在你的片段的
onResume()
中。当然是的,这应该行得通,真的很讨厌片段秀在garavity(中)than@AlimovShohrukh请遵循此链接,最好在答案中解释更多内容。。。它可能对未来有同样问题的用户更有用…我建议扩展您的答案。可能与上面的@Eric B.答案重复。这确实是正确的答案。这个答案绝对是重复的。
((BaseActivity)getActivity()).yourTextView.setText("HOME");
((MainActivity) getActivity()).getSupportActionBar().setTitle("Yeeee");