Я написал FragmentActivity с некоторыми вкладками. когда я вызываю дополнительное действие (которое я использую для настройки пользовательских настроек) с помощью startActivityForResult (без различий, если он находится в FragmentActivity или в ListFragment), метод onActivityResult вызывается, когда я запускаю эту активность предпочтений, но не тогда, когда я заканчиваю ее, так как я бы ожидал этого (опять же никаких различий, если он находится в FragmentActivity или в ListFragment). после того как я закончу операцию предпочтения, этот метод вообще не вызван.onActivityResult вызывается при запуске Activity, а не при его завершении
моя проблема в том, что я хочу обновить текущую вкладку (и установить последний использованный идентификатор вкладки) после того, как я закончил активность предпочтений, и я надеялся, что смогу сделать это в методе onActivityResult.
это класс создает преференции деятельности:
public abstract class ListFragmentBase<I> extends ListFragment implements
LoaderCallbacks<List<I>> {
это метод пересылки меня привилегированной активности внутри этого класса:
protected void forwardToPreferences(int currentTab){
Intent intent = new Intent(getActivity(), GlobalPreferencesActivity.class);
getActivity().startActivityForResult(intent, 10);
}
это метод, который вызывается после того, как вызвав метод выше, но не после того, как я закончил вызываемую деятельность
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
это предпочтение-активность:
public class GlobalPreferencesActivity extends Activity {
и внутри этого класса вы видите, как я называю метод отделки:
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();
}
});
Почтовый индекс и вывод логарифма. – Squonk
Я мог бы исправить свою особую проблему, добавив android: launchMode = «standard» в AndroidManifest.xml для активности предпочтений (раньше это было - как ListFragements - установлено значение «singleInstance»). но поведение startActivityForResult по-прежнему очень странно для меня. – richard
Извините, его первый раз, когда я добавляю код, мне потребовалось некоторое время. и теперь я должен найти из формата для правильного ввода logcat и добавить его. – richard