Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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 actionbar 如何更改appcompat v7库上的actionbar标题_Android Actionbar_Android Appcompat - Fatal编程技术网

Android actionbar 如何更改appcompat v7库上的actionbar标题

Android actionbar 如何更改appcompat v7库上的actionbar标题,android-actionbar,android-appcompat,Android Actionbar,Android Appcompat,我想通过编程将Actionbar标题更改为任何文本。 我使用AppCompatV7 这是我的密码: LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View actionBarview = inflater.inflate(R.layout.action_bar, null); ActionBar actioBar = getSuppo

我想通过编程将Actionbar标题更改为任何文本。 我使用AppCompatV7 这是我的密码:

  LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View actionBarview = inflater.inflate(R.layout.action_bar, null);

    ActionBar actioBar = getSupportActionBar();
    actioBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    actioBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    actioBar.setCustomView(actionBarview, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    final DrawerLayout drowerlayout = (DrawerLayout) findViewById(R.id.drawerlayout);
我试过:actioBar.setTitle(“MyText”)

但什么也没发生

以下是我的自定义actionbar xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:layout_gravity="right"
    android:background="#bfbfbf"
    android:gravity="right"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="0dp"
        android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0.1"/>

    <TextView
        android:id="@+id/txtBName"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:gravity="center"
        android:text="......"
        android:textColor="#000" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="0.1"/>

    <Button
        android:id="@+id/btnMenu"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="menu" />


.

由于要在操作栏上设置自定义视图,因此设置title setTitle()无法工作,您必须放弃自定义并坚持使用默认的操作栏视图,或者自定义视图中必须有一个文本视图,您可以获取引用并将其文本设置为任何标题

如果您的案例需要设置customView,那么您必须在这里进行设置

View actionBarview = inflater.inflate(R.layout.action_bar, null);
TextView tvTitle = (TextView) actionBarview.findViewById(R.id.tv_title)
tvTitle.setText(<your title here>)
View actionbar视图=充气机。充气(R.layout.action\u bar,空);
TextView tvTitle=(TextView)actionBarview.findViewById(R.id.tv_title)
tvTitle.setText()

请记住,
tv\u title
应该作为
TextView
小部件在自定义视图xml中。稍后在代码中,您可以参考
tvTitle
更改actionbar标题

谢谢,我更新了问题并添加了xml代码。我将textview id设置为txtBName,这是你的意思吗?任何时候,兄弟,在使用actionBar的自定义视图时,请确保遵循Google标准,并采用使用工具栏代替actionBar的做法,作为actionBar的最新替代品