2017-12-18 7 views
0

Nicht sicher, ob dies funktioniert oder nicht, aber ich versuche, eine Toast-Nachricht an RiderHome Aktivität von CustomerCall-Aktivität zu senden.Android - einen Toast von einer Aktivität an eine andere Aktivität übergeben

Sobald der Fahrer abbrechen wählt. An die RiderHome-Aktivität muss ein Toast gesendet werden: "Der Fahrer hat die Anfrage abgebrochen"

Kann dies getan werden?

Customercall

btnCancel = (Button)findViewById(R.id.btnDecline); 
    btnCancel.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

       cancelBooking(); 
     } 
    }); 

} 

private void cancelBooking() { 

    Intent intent = new Intent(getBaseContext(), RiderHome.class); 
    String cancel = "cancel" 
    intent.putExtra("cancel", cancel); 
    startActivity(intent); 

    Toast.makeText(CustomerCall.this, "The Driver has cancelled 
    the request", Toast.LENGTH_LONG).show(); 
} 

RiderHome

public class RiderHome extends AppCompatActivity 
    implements NavigationView.OnNavigationItemSelectedListener, OnMapReadyCallback, 
    GoogleApiClient.ConnectionCallbacks, 
    GoogleApiClient.OnConnectionFailedListener, 
    LocationListener { 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 

    } 

} 
+0

Wie navigieren Sie RiderHome Aktivität? Könnten Sie Ihr Code-Snippet mit Absicht einfügen? –

+0

Warum tust du nicht einfach auf die CustomerCall-Aktivität? Warum müssen Sie eine Toast/Nachricht von einer anderen Aktivität an eine andere Aktivität weitergeben, wenn Sie nur darauf anstoßen? –

+0

@TentenPonce Sobald der Fahrer die Anfrage storniert, muss eine Nachricht an den Fahrer gesendet werden, dass die Anfrage abgebrochen wurde. – LizG

Antwort

1

Sie dieses Weg- tun können:

private void cancelBooking() { 

    Intent intent = new Intent(getBaseContext(), RiderHome.class); 
    String cancel = "cancel" 
    intent.putExtra("user_cancelled",cancel); 
    startActivity(intent); 

    Toast.makeText(CustomerCall.this, "The Driver has cancelled 
    the request", Toast.LENGTH_LONG).show(); 
} 

In dieser einen String-Wert übergeben, die Fahrer die Anforderung abgebrochen zeigt

und in RiderHome Aktivität können Sie überprüfen, ob Sie bekommen diesen Wert von-:

Intent intent=getIntent(); 
intent.getExtras(); 

if(intent.hasExtra("user_cancelled")) 
{ 

    You can print your toast here. 

} 
+0

Danke für die Eingabe, aber hat nicht funktioniert: /. Es ist eine App mit verschiedenen Benutzern, vielleicht funktioniert das deshalb nicht. Ich dachte, wenn ich nur eine Zeichenfolge übergeben, Wenn String übergeben wird, könnte ich dann den Toast drucken. Kein Glück, – LizG

+0

können Sie zu riderhome Aktivität wechseln? –

+0

Von der CustomerCall-Aktivität durch eine Absicht? – LizG

-1

statt (Toast mit Aktivität - Toast Leben ist tot, wenn die Aktivität beendet ist)

Toast.makeText(CustomerCall.this, "The Driver has cancelled 
the request", Toast.LENGTH_LONG).show(); 

zu (Use Kontext !! Es wird überleben)

Toast.makeText(getBaseContext(), "The Driver has cancelled 
the request", Toast.LENGTH_LONG).show(); 
Verwandte Themen