Hilfe beim einbinden von RecyclerView oder LiestView in Fragment

  • Interessant wäre wo die textview ist die du seten willst?

    Ist sie im selben Fragment und Layout. Dann hole dir die ID in eine Instanzvariable dann kannsr du in deinem listener auch darauf zugreifen.

    Oder du suchst in dem listener die Id mit dem Context der Activity.


    Wenn es es in einem anderen Fragment sein soll. Wäre erstmal zu klären wie du deine Fragmente starrest..

    Fragmente tauscht startet man nicht mit einem Intent.


    Etweder mit dem Fragmentmanager und Transaction....

    Oder neuer mit dem Navcontroller.


    Zeige wie du das in der Activity machst.


  • so rufe ich die Tabs in der MainActivity auf.


    Ich möchte das wenn ich denn Button in der CardView die im recyclerview liegt drücke das gedrückte Item den Titel und der Interpret in Fragment1 in die 2 Edittext Boxen eingefügt werden.


    :) LG

  • Arguments (Parameter) von einem Fragment zum anderen mittels Bundle übergeben war gestern.


    Schaue dir das Thema ViewModel an. MVVM Pattern Android.


    Da du ja auch mit dem ViewPager arbeitest solltet du dir auch das Observer Pattern ansehen.




  • Dann schaue dir das Einfache Beispiel Projekt an.

    Ich habe da ein ViewModel hinzugefügt. Und natürlich die Beobachter.

    Das sind drei Fragmente mit ViewPager in der Activity.



    Beim ViewPager ist es ja so das die Fragmente schon vorgeladen werden und nicht erst in dem Moment erstellt werden wo du den Tab drückst oder swipest. Beim Swipe sind ja beide Fragmente zu gleichen zeit halb sichtbar. Also müssen sie schon Existieren.


    Parameter überhabe mittels Bundle wie bei einen Intent der eine neue Activity startet geht hier also nicht. Denn die Fragment Methoden (onCreateView, onViewCreated ...) werden nicht beim Swipe nicht aufgerufen.


    Ja mit (Interfase, Callback, Singleton) und Gedöns ist das auch etwas zumachen. Aber wenn es nun mal die Möglichkeit Viewmodel gibst sollte man sie auch nutzen.


    ViewModel in Android Architecture Components - GeeksforGeeks
    A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and…
    www.geeksforgeeks.org

  • Es ist extrem lieb von dir das du dir die Mühe machst! Jedoch bekomm ich das so nicht eingebaut. Bin fast am ziehl mit meiner kleinen ersten App und dann so ^^


    Ich hab ja die ne CardView in der RecyclerView mit Searchview. Muss ich jetzt alles komplett umbauen, nur um beim wählen eines Titels in der RecyclerView die Daten an das erste fragment zu senden?


    Ich lade dir (insofern ich dich nicht zu sehr schon nerve) mal mein Projekt hoch um es dir zu veranschaulichen was ich meine.

    Link entfernt


    LG

  • Der Code von mir ist ja auch nur ein Beispiel mehr nicht .


    Dann zeige sage doch mal was du aus deinem zweiten Fragment in deinem Ersten brauchst. Was du übergeben oder sogar beobachten willst.



    In deinem zweiten Fragment bekomme ich schon einen Feller das das Json Array nicht richtig vom Server gelesen werden konnte.

    Das Recyclerview wir gar nicht angezeigt.





    Auch das mit dem RunOnUI in deinen ersten Fragment ist falsch.

    Wenn du im Fragment auf den UI willst dann etwa so


    Code
    getActivity().runOnUiThread(new Runnable() {
    @Override
    public void run() {
        
    //Zugriff auf Activity
      
    }


    die Methode ist sinnloss

  • Wie bzw. wo genau bekommst du den Fehler? Da muss ich mal kuken wie ich das reparieren kann.


    Ich möchte, das beim klick auf den gesuchten Song in Fragment2 der ausgewählte Titel und Interpret in Fragment1 in die Boxen übergeben werden , dass der Benutzer dann nur noch seinen Namen in Fragment1 eingeben muss.


    LG

  • Ja dann solltest du vielleicht nochmal genau Beschreiben wo genau du hängst.


    Denn in den Code den du mal gepostet hast waren einige Fehler oder er war unvollständig.

    Ich sehe da zb nichts in dem Fragment 2 wo du deinen Titel und Interpret in dem Recyclerview auswählst.


    Dafür erstellt man normalerweise einen ItemOnKlickListener.

    Schaue dir doch mal ein paar Tutoriell zum Thema RecyclerView mit Itemklicklistener an.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Defining item click listener for RecyclerView in Android | Codexpedia


    Android RecyclerView OnItemClickListener Example



    Im Übrigen ist es auch schlecht bzw. nicht schön und sinnvoll wenn du zwischen jeden Post. Mal nach ca zwei Wochen vorbei schaust.

    Das sieht für mich immer so aus als ob kein Interesse an der Antwort ist.

    Wie so sollte ich zu helfen versuchen, wenn es einige Wochen dauert bis du Interesse zeigst du willst doch was. Nicht ich.

    Ich habe keine Lust dir alles aus der Nase zu ziehen. Dann lasse ich es besser sein. Denke mal darüber nach.

  • Hi. nono124

    Zunächst tut es mir leid, wenn du das so siehst wie, wenn kein Interesse besteht.

    Ich bin zurzeit Familie und Arbeitstechnisch voll ausgelastet. Ich bin dir für deine Hilfe sehr, sehr dankbar und auch für deine Geduld.

    Jedoch finde ich ist mein Privatleben und Wohlergehen der Familie wichtiger als meine App, die ich gerne dennoch mit dir fertigstellen würde.

    Ich bin ja der Meinung, dass es genau dafür ja ein Forum gibt, um sich einzubringen, wenn man Zeit hat.


    Ich habe rausgefunden, warum (auch bei mir) in Fragment2 nichts angezeigt wird.

    Weil im Source Code bei Fragment2 noch http://karaoke.... statt https://karaoke.... steht. (Wurde leider in der Zwischenzeit umgestellt)

    Wenn du das abänderst, liest er dir auch die ganzen DB-Einträge aus :)

    Das mit dem ItemOnKlickListener hätte ich schon hinbekommen, dass er mir zumindest den Titel und Interpret als Toast Message ausgibt.

    Aber leider lässt sich der angeklickte Titel und Interpret nicht so einfach in Fragment1 in die EditText Boxen übertragen (edTxt2 und edTxt3)


    Und genau da würde ich noch deine Hilfe benötigen :) *lieb kuk*

    Ich hoffe, dass ich es dir nun verständlicher zum Ausdruck bringen konnte, um nicht noch zu sehr deine Geduld mit mir zu strapazieren.


    LG Bady

  • Zitat

    Ich habe rausgefunden, warum (auch bei mir) in Fragment2 nichts angezeigt wird.

    Weil im Source Code bei Fragment2 noch http://karaoke.... statt https://karaoke.... steht. (Wurde leider in der Zwischenzeit umgestellt)

    Wenn dein erstes Problem ist das du nichts im Recyclerview angezeigt bekommst .

    Solltest du das auch sagen, das hast du zb nicht, woher sollen wir das wissen.

    Wo genau im Moment du ein Problem ist. Eine genauer ausführliche Fehlerbeschreibung solltest du schon liefen.




    Dann zeige doch mal deinen Listener.



    diene beiden Links gehen nicht

  • Ich habe bis vom letzten mal bis gestern noch nicht mal gewusst das keine Daten mehr in der RecyclerView ankommen da von http zu https umgestellt wurde.


    Sollte nun alles wieder funktionieren.

    Ich habe dir das Projekt jetzt nochmals Hochgeladen auf meinen jetztigen Stand.

    Jetzt müsstest du wissen worum es mir geht , denn genauer kann ich mich leider nicht mehr ausdrücken :(



    LG

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!