Im folgenden Code können Sie mir bitte erklären, warum der Block innerhalb der if-Anweisung ausgeführt wird, bevor die Methode request_user_name() aufgerufen wird? Das Ergebnis des folgenden Codes ist die folgende:Warum wird mein Code nicht in der richtigen Reihenfolge ausgeführt?
Ich bin in der if-Anweisung
Ich bin außerhalb der if-Anweisung
request_user_name() aufgerufen wird - OK
geklicktchatbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(request_user_name())
{
System.out.println("I am inside the if statement");
Intent intent = new Intent(MainActivity.this, ChatRoom.class);
intent.putExtra("room_name", "room");
intent.putExtra("user_name", name);
startActivity(intent);
}
System.out.println("I am outside the if statement");
}
});
private Boolean request_user_name() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter Name:");
final EditText input_filed = new EditText(this);
builder.setView(input_filed);
final Holder<Boolean> accessChatRoom = new Holder<Boolean>(true);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
name = input_filed.getText().toString();
System.out.println("request_user_name() called - OK clicked");
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
System.out.println("request_user_name() called - Cancel clicked");
accessChatRoom.setValue(false);
}
});
builder.show();
return accessChatRoom.getValue();
}
Was ist der Inhalt von 'request_user_name'? – Moira
Den gesamten Code bitte posten –
request_user_name() Gibt "true" zurück. Veröffentlichen Sie den Code der Methode. –