Ссылка на класс после изменения ориентации
Я написал общедоступный класс, который обрабатывает связь по сети Ethernet, имеет некоторый поток, который обновляет некоторые переменные.
Основная деятельность взаимодействует с этим классом, получая переменные или отправляя некоторые сообщения. Таким образом, после изменения ориентации поток работает, как я хочу, но основное действие он не может получить данные из "класса Ethernet".
Как я объявляю класс в основной деятельности:
EthIp = новый EthIp(tot_in, tot_out, IP, порт, false);
Начать тему в классе EthIP
Спасибо за помощь...
2 ответа
Когда ориентация изменилась, ваша деятельность должна была быть воссоздана и создан новый экземпляр класса Ethernet. Вы должны избегать воссоздания активности. изменить свой манифест как...
<activity android:name=".activity.MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
</activity>
а затем переопределить onConfigurationChanged() в действии как...
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
}
Помните, что по умолчанию активность уничтожается, а затем создается новый во время изменения ориентации ( ссылка)
Убедитесь, что вы закрыли eth соединение в методе OnClose/OnPause для Activity и что потоки, которые вы создаете, ведут себя соответствующим образом при перезапуске вашей Activity.