iki faaliyetleri, Activity1 ve Activity2 olduğunu varsayalım tamamlandıktan sonra iletişim göstermek için nasıl. Belli bir düğmeye basıldığındaandroid - etkinlik
Activity1 en onClick() yönteminde, biz Aktivite 2 başlatmak için bir çağrısı: bitirmek sonra
Intent myIntent = new Intent(Activity1.this, Activity2.class);
Activity1.this.startActivity(myIntent);
() Activity2 içinde denir ve Activity1 devam edilir, bir ihtiyacım Devam edildikten sonra, Aktivite1'de gösterilecek iletişim kutusu.
önce, basitçe denilen showDialog Activity1 en onClick aynı blokta (id)() yöntemi:
public void onClick(View v) {
if(v == addHole){
//...
Intent myIntent = new Intent(Activity1.this, Activity2.class);
Activity1.this.startActivity(myIntent);
showDialog(END_DIALOG_ID);
}
}
konu Activity1 çağrıldıktan sonra, END_DIALOG_ID tekabül iletişim görünmüyorsa, ama, olduğu Ekran, tuşa basılıncaya kadar kararır ve yanıt vermiyor (iletişim kutusu mevcut gibi).
Ben Activity1 en onResume() ve onRestart() yöntemleri showDialog() çağrısını koyarak çalıştı, ancak programı çökmesine bu ikisi var.
Ayrıca, Event2'de bir AsyncTask yöntemi oluşturmayı denedim ve showDialog() çağrısı onPostExecute() öğesinde, ancak bu ileti Activity2'de görünmez.
private class ShowDialogTask extends AsyncTask<Void, Void, Integer> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
protected Integer doInBackground(Void... id) {
//do nothing
return END_DIALOG_ID;
}
/** The system calls this to perform work in the UI thread and delivers
* the result from doInBackground() */
protected void onPostExecute(Integer id) {
super.onPostExecute(id);
showDialog(id);
}
}
Şimdi gelen setResult() ve Activity1 dan onActivityResult() yöntemleri ile
Activity1.this.startActivityForResult(myIntent, END_DIALOG_REQUEST);
arayarak bu uygulamaya çalışıyorum, ama bu uygulamaktan daha iyi bir uygulama olması gerektiğini görünüyor. Tek ihtiyacım olan, Activity2 bitirme işleminde gösterilen bir diyaloğa sahip olmak.
Sağladığınız her türlü yardım için teşekkür ederiz. Eğer önermek gibi Activity2
başlatırken
Ben startActivityForResult ve onActivityResult önerecektim, ancak kendi üzerine keşfettim görünüyor. Bana göre, istediğini elde etmenin en kolay yolu bu. – mportuesisf