Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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_Android Fragments_Android Toolbar - Fatal编程技术网

从android中的片段访问工具栏文本视图

从android中的片段访问工具栏文本视图,android,android-fragments,android-toolbar,Android,Android Fragments,Android Toolbar,我有一个带有自定义工具栏的导航抽屉。我正在尝试在Fragment中访问工具栏中的textView,并在Fragment中设置文本。这可能吗?如果可能,怎么可能 这是我的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

我有一个带有自定义工具栏的导航抽屉。我正在尝试在Fragment中访问工具栏中的textView,并在Fragment中设置文本。这可能吗?如果可能,怎么可能

这是我的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/tools"
 android:id="@+id/toolbar"
 style="@style/ActionBar"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:background="@color/backgroundcolor"
 android:minHeight="?attr/actionBarSize"
 app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" >

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:id="@+id/relativeLayoutID">

    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center"
        android:layout_centerVertical="true"
        android:text="@string/register_title"
        android:textColor="@color/blackText"
        android:textSize="@dimen/text_size_medium" />

    <ImageView
        android:id="@+id/action_logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_gravity="right|center"
        android:contentDescription="@string/logo"
        android:paddingRight="5dp"
        android:src="@drawable/logoactionbar" />
</RelativeLayout>

我想根据我点击的片段设置工具栏标题的文本。如何在片段中访问它们

让我知道

谢谢

请试试这个

toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
textToolHeader = (TextView) toolbar.findViewById(R.id.textToolHeader);
textToolHeader.setText("Text which you want");
希望这对你有帮助。

请试试这一个

toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
textToolHeader = (TextView) toolbar.findViewById(R.id.textToolHeader);
textToolHeader.setText("Text which you want");

希望这对您有所帮助。

在您的活动中使用
public textChanger()
方法

公共类YourActivity扩展活动{
工具栏;
文本查看文本;
textToolHeader.setText(“您想要的文本”);
@凌驾
创建时的公共void(Bundle savedInstanceState、PersistableBundle persistentState){
super.onCreate(savedInstanceState、persistentState);
toolbar=(toolbar)getActivity().findViewById(R.id.toolbar);
text=(TextView)toolbar.findViewById(R.id.text);
}
公共无效更改工具栏文本(字符串txt){
text.setText(txt);
}
}

在你的碎片中使用

((YourActivity)getActivity()).changeToolBarText(“您想要什么”);
要更改该文本视图

作为一个样本,在片段中

公共类测试扩展了片段{
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
((YourActivity)getActivity()).changeToolBarText(“您想要什么”);
返回super.onCreateView(充气机、容器、savedInstanceState);
}

}

在活动中使用
公共文本转换器()
方法

公共类YourActivity扩展活动{
工具栏;
文本查看文本;
textToolHeader.setText(“您想要的文本”);
@凌驾
创建时的公共void(Bundle savedInstanceState、PersistableBundle persistentState){
super.onCreate(savedInstanceState、persistentState);
toolbar=(toolbar)getActivity().findViewById(R.id.toolbar);
text=(TextView)toolbar.findViewById(R.id.text);
}
公共无效更改工具栏文本(字符串txt){
text.setText(txt);
}
}

在你的碎片中使用

((YourActivity)getActivity()).changeToolBarText(“您想要什么”);
要更改该文本视图

作为一个样本,在片段中

公共类测试扩展了片段{
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
((YourActivity)getActivity()).changeToolBarText(“您想要什么”);
返回super.onCreateView(充气机、容器、savedInstanceState);
}

}

目前这对我很有效。只需在创建视图中调用
onCreateView

AppBarLayout toolbar = (AppBarLayout) getActivity().findViewById(R.id.toolbar);
TextView topBack = (TextView) toolbar.findViewById(R.id.back);

目前这对我很有效。只需在创建视图中调用
onCreateView

AppBarLayout toolbar = (AppBarLayout) getActivity().findViewById(R.id.toolbar);
TextView topBack = (TextView) toolbar.findViewById(R.id.back);

你把工具栏放在哪里了?从那里你可以在活动或活动中找到它fragment@Harry:你能举个例子吗?你把工具栏放在哪里了?从那里你可以在活动或活动中找到它fragment@Harry:你能举个例子吗?非常感谢这很有效,但是当我的片段XML中没有任何工具栏引用时,它如何能够获取工具栏引用?创建一个公共工具栏并将其用作公共工具栏非常感谢这很有效,但是当我的片段中没有工具栏引用时,它如何获取工具栏引用XML?创建一个公共工具栏并将其用作公共工具栏