1

Ich habe eine CollapsingToolbarLayout mit Recycler-Ansicht. In meiner Aktionsleiste habe ich einen Suchmenüpunkt. Aber wenn ich auf Suchsymbol klicke, erscheint das Edittext-Layout nicht.Aktionsleiste Suche in minimaler Symbolleiste Layout

Screenshots: - A) Wenn die Suche nicht Initially geklickt wird

B) Wenn Suchsymbol geklickt wird After Click

Mein main_activity.xml Code: -

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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" 
    android:fitsSystemWindows="true" 
    android:id="@+id/activity_main_id" 
    tools:context="objectdistance.ankeshkjaisansaria.ram.sita.cameratag.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 


     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:contentScrim="?attr/colorPrimary" 
      app:expandedTitleMarginStart="48dp" 
      app:expandedTitleMarginEnd="64dp" 
      android:fitsSystemWindows="true"> 

      <ImageView 
       android:id="@+id/imagetoolbar" 
       android:layout_width="match_parent" 
       android:layout_height="200dp" 
       android:scaleType="centerCrop" 
       android:fitsSystemWindows="true" 
       app:layout_scrollFlags="scroll" 
       app:layout_collapseMode="parallax"/> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:layout_collapseMode="pin" /> 

     </android.support.design.widget.CollapsingToolbarLayout> 


    </android.support.design.widget.AppBarLayout> 




    <android.support.v7.widget.RecyclerView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 



</android.support.design.widget.CoordinatorLayout> 

In meinem activity.java wird der Suchbegriff folgendermaßen behandelt: -

 ActionBar action = getSupportActionBar(); //get the actionbar 
     action.setDisplayShowCustomEnabled(true); //enable it to display a 
     // custom view in the action bar. 
     action.setCustomView(R.layout.search_bar);//add the custom view 
     action.setDisplayShowTitleEnabled(false); //hide the title 

Aber das Search_bar-Layout wird nicht nur angezeigt. Und auch der Titel versteckt sich nicht.

Gibt es eine andere Möglichkeit, die Suche im Menüelement zu verwenden, wenn Sie ein minimales Layout verwenden?

+0

Geben Sie Ihren Code auch ein. –

+0

Welcher Teil des Codes? –

+0

Haben Sie in 'menu.xml' oder in einem Ihrer benutzerdefinierten Menüs' XML' einen Eintrag für 'Search View' hinzugefügt? –

Antwort

-1

Versuchen Sie, die Artikel wie dieser in Menu.xml Datei hinzufügen:

<item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    android:icon="@drawable/src" 
    android:title="@string/action_settings" 
    app:showAsAction="always|collapseActionview" /> 
+0

Er sucht nicht nach diesem. Er möchte zeigen, dass "Edit Text" nicht erscheint. Bitte lesen Sie zuerst Fragen und Kommentare bevor Sie eine Antwort geben. –

+0

Genau. Mein Suchsymbol wird angezeigt. Das einzige Problem ist, dass edittext nicht angezeigt wird. –

0

Jetzt haben wir Symbolleiste in Android. Verwenden Sie daher anstelle von ActionBar von Activity To Tooolbar View als ActionBar.

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     ActionBar ab = getSupportActionBar(); 

Jetzt auf ab arbeiten. Standardmäßig zeigt Ihre Aktivität eine Aktionsleiste, aber die Symbolleiste versteckt sie. Verwenden Sie auch Menüpunkt als

<item 
    android:id="@+id/action_search" 
    android:icon="@drawable/ic_action_search" 
    android:title="Search for products" 
    app:actionViewClass="android.support.v7.widget.SearchView" 
    app:showAsAction="always|collapseActionView" 
    /> 
+0

In meiner OnCreate-Methode habe ich bereits dieses Stück Code. setSupportActionBar (Symbolleiste). –

+0

Hinzufügen von actionViewClass = "android.support.v7.widget.SearchView" funktionierte, aber ich möchte mein benutzerdefiniertes Layout in der Suchleiste anzeigen –

0

Sie sollten so etwas wie diese Umsetzung der „Search Field“ bekommen funktioniert ganz gut:

public boolean onCreateOptionsMenu(Menu menu) { 

    getMenuInflater().inflate(R.menu.menu_search_list, menu); 

    MenuItem searchMenuItem = menu.findItem(R.id.action_search); 

    android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(searchMenuItem); 

    searchView.setQueryHint(getString(R.string.type_here_to_filter)); 

    searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      return searchForAnItemInTheRecyclerView(query); 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      return searchForAnItemInTheRecyclerView(newText); 
     } 
    }); 

    return true; 
} 
0

versuchen Sie, diese zu Ihrem Element im Menü xml.

app:actionLayout= "@layout/YourSearchLayout" 
Verwandte Themen