Bazı sekmelerle bir FragmentActivity yazdım. startActivityForResult ile (kullanıcı tercihlerini ayarlamak için kullandığım) ek bir aktivite (FragmentActivity veya ListFragment içinde fark yoksa) çağırdığımda, bu tercih aktivitesini başlattığımda onActivityResult yöntemi çağrılır, ancak bunu bitirdiğimde değil Ben bunu beklerdim (yine FragmentActivity veya ListFragment içinde hiçbir fark yoktur). Tercih etkinliğini bitirdikten sonra bu yöntem hiç çağrılmaz.onActivityResult, Etkinlik başlatıldığında çağrılır, bitmiş olduğu zaman değil
Sorunum, tercih etkinliğimi tamamladıktan sonra geçerli sekiğimi (ve son kullanılan sekme kimliğini ayarla) yenilemek ve bunu onActivityResult yönteminde yapabilmeyi umduğumdur.
protected void forwardToPreferences(int currentTab){
Intent intent = new Intent(getActivity(), GlobalPreferencesActivity.class);
getActivity().startActivityForResult(intent, 10);
}
bundan sonra çağrılan yöntemdir:
public abstract class ListFragmentBase<I> extends ListFragment implements
LoaderCallbacks<List<I>> {
bu sınıf içinde tercih etkinliğe beni yönlendirme yöntemidir:
bu
tercihi-etkinliği oluşturmaya sınıftır Yukarıdaki yöntemin çağrılması ancak çağrılan aktiviteyi bitirdikten sonra değil (Bu tercih-faaliyettir:
public class GlobalPreferencesActivity extends Activity {
ve i bitirmek yöntemini çağırmak nasıl gördükleri sınıf içinde:
TextView confirmSettings = (TextView) view.findViewById(R.id.confirm_settings);
confirmSettings.setTextSize(PreferenceHelper.getSizeHeader(getApplicationContext()));
confirmSettings.findViewById(R.id.confirm_settings).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(BaseFragmentActivity.lastActivity != null){
BaseFragmentActivity.lastActivity.onRefreshData();
}
ComponentName callingActivity = getCallingActivity();
GlobalPreferencesActivity.this.finish();
}
});
Posta kodu ve logcat çıkışı. – Squonk
Özel problemimi Android: launchMode = "standart" olarak AndroidManifest.xml tercihli aktivitesi için ekleyerek düzeltebilirim (daha önce - ListFragements gibi - "singleInstance" olarak ayarlanmış). ama startActivityForResult'un davranışı benim için hala çok garip. – richard
özür dilerim, ilk kez kod ekledim, biraz zaman aldı. ve şimdi logcat'ı doğru şekilde biçimlendirmek ve eklemek zorundayım. – richard