Я не знаю, почему, но после воссоздания активности и фрагмента в изменении ориентации система останавливает фрагмент. Im, используя вкладку фрагментов на панели действий с помощью TabListener.onStop() называется таинственным образом после изменения ориентации отдыха
Вход:
09-09 16:49:36.132: I/fraglifecycle(1432): ChatFragment.onCreateView();
09-09 16:49:36.284: I/fraglifecycle(1432): ChatFragment.onServiceConnected();
09-09 16:49:36.288: I/fraglifecycle(1432): recuperando posição da listview: 2
================================= ROTATION ==================================
09-09 16:49:56.928: I/fraglifecycle(1432): onSaveInstanceState()
09-09 16:49:56.932: I/fraglifecycle(1432): ChatFragment.onStop();
09-09 16:49:57.028: I/fraglifecycle(1432): ChatFragment.onCreateView();
09-09 16:49:57.280: I/fraglifecycle(1432): tab selected; mFragment != null, attaching
09-09 16:49:57.284: I/fraglifecycle(1432): ChatFragment.onServiceConnected();
09-09 16:49:57.284: I/fraglifecycle(1432): recuperando posição da listview: 5
09-09 16:49:57.436: I/fraglifecycle(1432): ChatFragment.onStop();
печати до изменения: https://www.dropbox.com/s/upk42kjbvgizoe1/Captura%20de%20tela%202014-09-09%2013.54.07.png?dl=0
Печать после изменения: https://www.dropbox.com/s/mse9z29zk6ou2nr/Captura%20de%20tela%202014-09-09%2013.52.55.png?dl=0
Мой фрагмент:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
activity = (MainActivity) getActivity();
// Em algumas versões do Android, este metódo ocasionará o chamado do
// metodo onOptionsMenuCreate() imediatamente
setHasOptionsMenu(true);
View view = inflater.inflate(R.layout.chat_layout, container, false);
edittext = (MyEditText) view.findViewById(R.id.chatinput);
edittext.setOnEditorActionListener(this);
listview = (ListView) view.findViewById(R.id.chatlist);
bt_send = (ImageView) view.findViewById(R.id.sendbutton);
bt_send.setOnClickListener(this);
registerForContextMenu(listview);
// Request service connection
Intent it = new Intent(activity, MyService.class);
activity.bindService(it, this, 0);
return view;
}
@Override
public void onStop() {
activity.unbindService(this);
super.onStop();
}
@Override
public void onServiceConnected(ComponentName name, IBinder binderservice) {
LocalBinder binder = (LocalBinder) binderservice;
this.service = binder.getService();
if (this.isChannel()) {
conversa = service.getCanalAdapter();
} else {
String stringuuid = getArguments().getString(EXTRA_ARGUMENT);
conversa = service.getPVTAdapter(UUID.fromString(stringuuid));
}
listview.setAdapter(conversa);
}
Пожалуйста, помогите мне, им иметь несколько проблем с циклом Fragment-Service-Orientation изменения и застрял в развитии у меня больше, чем через месяц. Спасибо заранее!
Что может быть причиной? Я новичок в изменении ориентации еще, PLS помочь мне. PS: Я уже много читал о жизненном цикле фрагментов и активности, подключении к службе, изменении ориентации, но я не могу понять, что происходит. – Informatheus
Это нормальный жизненный цикл. Предыдущий экземпляр мероприятия прекращается и уничтожается. – CChi
Фрагмент не отсоединен от предыдущего действия, как только он будет уничтожен? Как он (предыдущая активность) останавливал фрагмент после своего собственного onDestroy()? – Informatheus