0 Daumen
764 Aufrufe

Hallo Community,

verzeiht, falls es diese Frage schon mal gab, "Schon dabei" zeigt nichts an. Es ist eine kleine Frage:

Ich habe eine Klasse namens UserAdapter.class und UserFragment.java, die Funktion beider ist es der App zu ermöglichen, andere Nutzer zu suchen per Eingabe in der Suche, EditText. Die Liste erscheint und zeigt Nutzer an und ich kann sie klicken um mit ihnen zu chatten. Nun möchte ich es dem Nutzer ermöglichen, dass er auch das Profil des anderen Nutzers besuchen kann und nicht durch bei "klicken" direkt chatten. Da dachte ich an AlertDialog oder Box. Der Nutzer kann aus zwei Optionen wählen: "Chatten" oder "Profil besuchen". Nur, wie genau mache ich das? Nur die Art und Weise wie ich den AlertDialog um diese Funktion zu ermöglichen, möchte ich erfahren.


Dies ist der senOnClickListener mit dem Nutzer zur ChatActivity geleitet wird.
ChatAdapter.class:

// Handle item click
        myHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                /* Click user from user list to start chatting/messaging. Start activity
                  by putting UID of receiver. We will use that UID to identify the user
                  we are going to chat with
                */

                Intent intent = new Intent(context, ChatActivity.class);
                intent.putExtra("hisUid", hisUid);
                context.startActivity(intent);
            }
        });
    }
Kann ich diesen setOnClickListener einfach in ein If () {} einpacken? Die Idee ist:
Pseudocode(?) ist dies nur:
if ( AlertDialog == 0 ) { 
// Handle item click
        myHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                /* Click user from user list to start chatting/messaging. Start activity
                  by putting UID of receiver. We will use that UID to identify the user
                  we are going to chat with
                */

                Intent intent = new Intent(context, ChatActivity.class);
                intent.putExtra("hisUid", hisUid);
                context.startActivity(intent);
            }
        });
    }} if ( AlertDialog == 1 ) {
                Intent intent = new Intent(context, ProfileDesAnderenNutzers.class);
                intent.putExtra("hisUid", hisUid);
                context.startActivity(intent);
           ] }
        });
    }
Ich bin mir nur nicht sicher, ob dies so einfach möglich wäre. Ich möchte nur eine weiterleitung zum Profil des anderen Nutzers, nicht mehr. Dort handle ich dann weitere Funktionen, wie Folgen o.ä.
Würde mich auf eine Antwort freuen :)

von

Ich habe es anders gelöst. Würde es eig. gerne löschen aber geht ja nicht :)

Statt setOnClickListener habe ich es durch einen setOnLongClickListener ersetzt. Der Neue setOnClickListener wird dann den User durch einen Klick zum Profil des Users leiten. Durch langes klicken/berühren dann zum Chatfenster.

Ich hätte es im Sinne der DAU-Methode mit einem Drop-down Menü gelöst, das per linkem oder rechten Mausklick auf den Listeneintrag erscheint und beide Varianten zur Auswahl stellt.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community