У меня есть макет в xml.Как я могу получить постоянную ссылку на представление? (android)
В моей деятельности, в OnCreate метод я получить ссылку на мнение я хочу, чтобы периодически обновлять, как это:
TextView MYTEXT = (TextView) findViewById (R.id.textview1);
Затем, в периодическом способе, я это сделать:
myText.setText (Float.toString (MyData));
Он отлично работает, пока экран не вращается.
Я прочитал, что, когда экран вращается, макет воссоздается, и все виды макета воссозданы, поэтому старые ссылки не работают.
Мой код:
private TextView myText; //Its a class member
public void onCreate(Bundle savedInstanceState) {
//Other things
myText = (TextView)findViewById(R.id.textview1);
//Other things
}
//This is the periodic method, it occurs many times per second
public final void onSensorChanged(SensorEvent event) {
myText.setText(Float.toString(event.myData));
//This setText works fine until the screen rotation
}
Как я могу иметь постоянную ссылку на представление? И как я могу узнать, когда экран повернулся?
Thanx
Что значит «старые ссылки не работают»? Вы получаете исключение? – Korbi
В коде там «myText» хранится ссылка на TextView. Но когда экран вращается, этот TextView уничтожается, а другой TextView заменяет его в новом макете (создаваемом при ротации), поэтому myText теперь ссылается на несуществующий TextView. – Alex
Но где вы устанавливаете переменную-член myText? В вашем примере кода вы устанавливаете локальный. Можете ли вы показать нам больше кода? –