Kotlin Search Bar

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kotlin Search Bar

    Hallo Leute,

    ich hab mal wieder eine Frage... Ich verzweifel schon langsam ;(

    Ich möchte gerne eine Searchbar machen das funktioniert auch alles aber der App Name verschwindet nicht siehe Anhang.

    Ich hab alles so gemacht wie in diesem Tutorial: javapapers.com/android/android…view-action-bar-tutorial/

    Vielen Dank für eure Hilfe :)
    Bilder
    • photo_2018-06-22_10-26-50.jpg

      14,09 kB, 1.080×210, 28 mal angesehen
  • Hallo in welcher Activity ist den das Problem in der Main oder der SearchResult?
    Denke du meistens die SearchResult. Zeige dazu mal das layout und das menue.

    Ps. habe das Beispiel mal getestet da wird nicht der App name angezeigt.
    Also setzt du den wo anders, etweder im layout oder sogar in der Activity.
    Ohne Code werden wir da hier nichts machen können.
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jogimuc ()

  • Hi
    Ausblenden des app Namen könntest du so in Java machen.

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);
    Oder in dem du den Text löschst
    actionbar.setTitle("");

    Kannst es dir ja nach Kotlin übersetzen.

    Wie gesagt wurde mir der appname in meinem testprojekt in der SearchResult activity nicht angezeigt.
    In der Main ja.


    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()

  • Hier das ist eine Abgespeckte Version von meiner MainActivity

    Java-Quellcode: MainActivity

    1. package com.andy61.cowtracker
    2. // Imports
    3. class MainActivity : AppCompatActivity() {
    4. private var searchView: SearchView? = null
    5. private var searchManager: SearchManager? = null
    6. override fun onCreate(savedInstanceState: Bundle?) {
    7. super.onCreate(savedInstanceState)
    8. setContentView(R.layout.activity_main)
    9. }
    10. override fun onCreateOptionsMenu(menu: Menu): Boolean {
    11. val menuInflater = menuInflater
    12. menuInflater.inflate(R.menu.menu_main, menu)
    13. searchView = menu.findItem(R.id.action_search).actionView as SearchView
    14. searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
    15. searchView!!.setSearchableInfo(searchManager!!.getSearchableInfo(componentName))
    16. searchView!!.setOnQueryTextListener(object :
    17. SearchView.OnQueryTextListener {
    18. override fun onQueryTextSubmit(query: String): Boolean {
    19. return false
    20. }
    21. override fun onQueryTextChange(newText: String): Boolean {
    22. listDataAdapter!!.CowFilter().filter(newText)
    23. return false
    24. }
    25. })
    26. searchView!!.setOnCloseListener {
    27. false
    28. }
    29. return super.onCreateOptionsMenu(menu)
    30. }
    31. }
    Alles anzeigen


    Mein Searchable.xml

    XML-Quellcode: Searchable.xml

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <searchable xmlns:android="http://schemas.android.com/apk/res/android"
    3. android:label="Search"
    4. android:hint="Suchen..." />

    und in meiner Manifest hab ich diese MainActivity angelegt

    XML-Quellcode: Manifest

    1. <activity
    2. android:name=".MainActivity"
    3. android:label="@string/app_name"
    4. android:theme="@style/Theme.MyCompatTheme">
    5. <intent-filter>
    6. <action android:name="android.intent.action.SEARCH" />
    7. <category android:name="android.intent.category.DEFAULT" />
    8. </intent-filter>
    9. <meta-data
    10. android:name="android.app.searchable"
    11. android:resource="@xml/searchable" />
    12. <!-- to identify this activity as "searchable" -->
    13. </activity>
    Alles anzeigen
    Und wie gesagt ich will keine SearchresultActivity sondern ich möchte einfach oben die Suchleiste nur halt ohne den App Namen. Das mit dem ListView funktioniert ja schon also wenn ich oben was eintippe verändert sich die ListView

    Wenn du noch was wissen willst oder musst um mir zu helfen sag einfach bescheid :)
    Vielen Dank für deine Hilfe :)
  • Hi
    Eigentlich müsste der Titel in der Actionbar mit diesen Zeilen in der onCreate
    weg sein . Schreibe es in Java da ich es in kotlin jetzt nicht richtig weiss.

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayShowTitleEnabled(false);

    override fun onCreate(savedInstanceState: Bundle?) {
    {super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    var actionbar : ActionBar = getActionBar();
    actionbar.setDisplayShowTitleEnabled(false);
    Oder
    actionbar.setTitle("");
    }


    Damit schaltest du bei Java den Titel aus.
    Oder setze einen lehren String als Titel.
    Dann dürfte nichts mehr angezeigt werden.

    Bei dem Beispiel vom Anfang was du gepostet hattest war es bei mir so
    Das es den Titel und die Lupe angezeigt hatte.
    Wenn ich auf die Lupe geklickt hatte war der Titel weg und ich konnte was ein geben. Nach den Enter war glaube ich wider der der Anfangs Zustand.
    Ich habe es aber auch in Java gemacht . Kann aber auch sein das das Standard verhalten der Actionbar in kotlin etwas anders ist als in Java.

    Standard mässig wird der app Name in der actonbar angezeigt aber du kannst das ja ändern. Wie habe ich nun eigentlich gezeigt.

    developer.android.com/reference/android/app/ActionBar
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()