【问题标题】:Why Toolbar is Overriding another activity's fragment?为什么工具栏覆盖另一个活动的片段?
【发布时间】:2021-10-08 07:11:34
【问题描述】:

Im not added toolbar in this fragment but it is overriding from Recyclerview's xml file

Im added toolbar in this specific recyclerview's xml file

清单文件

<?xml version='1.0' encoding='utf-8'?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sanskrit.mysearcher">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:resizeableActivity="false">

        
        <activity android:name=".MainActivity">
                
             <intent-filter>
                    <action android:name="android.intent.action.MAIN" /> 
                    <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter>
            </activity>
            
        <activity android:name=".DisplayContactActivity">

        </activity>           
            
        <activity android:name=".SqlQrudActivity">
            
        </activity>
        
        <activity android:name=".ShowcaseWordsActivity"
            
            
            >
            
        
        </activity>
        
      
        
        
      <meta-data
          android:name="android.max_aspect"
          android:value="4.0"/>

    </application>
    
</manifest>

Recyclerview xml 文件

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    
    >

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        app:title="Search Your Words"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/rvPrograms"
        >
    
    </androidx.appcompat.widget.Toolbar>
    
        
    
    
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rvPrograms"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar" />
    
</androidx.constraintlayout.widget.ConstraintLayout>

我没有添加工具栏但在应用安装后自动显示的 Crud Sql xml 文件

<androidx.constraintlayout.widget.ConstraintLayout

    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:padding="10dp"
    android:background="@color/white">


    <TextView


        android:id="@+id/insertID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:text="Insert Id"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_marginLeft="10dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"

        app:layout_constraintBottom_toTopOf="@+id/updateID"


    />

    <EditText
        

        android:id="@+id/updateID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        
        android:textSize="17sp"
        android:padding="10dp"
        android:layout_margin="10dp"
        android:background="@drawable/custom_input"
        android:inputType="number"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/insertID"
        app:layout_constraintBottom_toTopOf="@+id/insertText"
    />







    <TextView


        android:id="@+id/insertText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="5dp"
        android:text="Insert Name"
        android:textSize="22sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/updateID"
        app:layout_constraintBottom_toTopOf="@+id/editName"


    />

    <EditText

        android:id="@+id/editName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" 
        android:textSize="18sp"
        android:textStyle="bold"
        android:padding="10dp"
        android:background="@drawable/custom_input"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/insertText"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/insertDescription"
    />



    <TextView


        android:id="@+id/insertDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:text="Description"
        android:textSize="22sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editName"
        app:layout_constraintBottom_toTopOf="@+id/editDescription"


    />

    <EditText

        android:id="@+id/editDescription"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_margin="10dp"
        android:hint="Add Description"
        android:textSize="18sp"
        android:textStyle="bold"
        android:gravity="center"
        android:padding="10dp"
        android:background="@drawable/custom_input"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/insertDescription"
        app:layout_constraintEnd_toEndOf="parent"
    />

    <include layout="@layout/fragment_word_recyclerview" />

</androidx.constraintlayout.widget.ConstraintLayout>

Styles.xml 文件

<resources>

    <!-- Base application theme. -->
        
    <style name="AppTheme" parent="DetailTheme">
        <!-- Customize your theme here. -->
      
        <!--
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">       
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        
    </style>
   -->
    </style>
    
        
        
        
    <style name="DetailTheme" parent="Theme.AppCompat.Light.NoActionBar">
       

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        
        
        
    </style>
    
    
    
</resources>

只有我初始化工具栏的片段类

 @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_word_recyclerview,container,false);
    
        
        Toolbar toolbar = ((Toolbar) view.findViewById(R.id.toolbar));
        AppCompatActivity activity = (AppCompatActivity) getActivity();
        activity.setSupportActionBar(toolbar);
        
        setHasOptionsMenu(true);

return view;

【问题讨论】:

  • 在第二个代码 sn-p 中,“RecyclerView xml 文件”是指“@layout/fragment_word_recyclerview”吗?
  • 是的,recyclerview的xml文件名为fragment_word_recyclerview。

标签: java android android-actionbar toolbar android-toolbar


【解决方案1】:

在“Crud Sql xml”中,接近尾声 - 你有:

&lt;include layout="@layout/fragment_word_recyclerview" /&gt;

您可能想删除此行。

如果你看到第二个代码sn-p,这个布局有工具栏和一个recyclerview。如果您在“Crud Sql xml”中包含此布局,您将在顶部看到工具栏。回收站视图可能不可见,因为您可能没有向其中添加任何内容。

【讨论】:

  • 感谢您抽出时间查看我的代码并告诉我这个小错误?。
  • 您可以将其标记为已接受的答案并关闭问题吗?
  • 是的,已接受答案?
  • 不确定你是否理解。要接受答案,您需要单击投票按钮下方的“复选标记”按钮。 meta.stackexchange.com/questions/5234/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多