Следующий код от Head First Android. Это для приложения секундомата. < /p>
У меня есть несколько вопросов в следующем коде: < /p>
Код работает как -> Oncreate -> runtimer () (Skips handler.post ()) -> OnTart -> onResume -> возвращается к Handler.post (). < /li>
< /ol>
Почему он пропускает hander.post () < /code> в первую очередь? < /p>
У меня есть два textview.settext (). Но первый не работает. Это всегда последний. Я положил второй, чтобы увидеть, что делает код после метода postdelay (). < /Li>
< /ol>
Почему первый не работает? Я ожидаю, что текст будет прыгать вперед и назад от «Привет» на «HH: MM: SS». < /li>
< /ol>
Запускает ли код работает нормально, и когда его 1 секунду называется Postdelay ()? Разве это не должно быть .run () < /code>? < /p>
public class MainActivity extends AppCompatActivity {
private boolean running = false;
private int counter = 0;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
runTimer();
}
public void onClickStart(View view){
running = true;
}
public void runTimer(){
final TextView textView = findViewById(R.id.timer);
handler.post(new Runnable() {
@Override
public void run() {
int hours = counter/3600;
int minutes = (counter%3600)/60;
int secs = counter%60;
String time = String.format("%d:%02d:%02d", hours, minutes, secs);
textView.setText(time); // Doesn't set it to this - see last line
if(running){
counter++;
}
handler.postDelayed(this,1000); // what does happens between next one second
textView.setText("hell0"); // Always set it to this
}
});
}
Следующий код от Head First Android. Это для приложения секундомата. < /p>
У меня есть несколько вопросов в следующем коде: < /p>
[list] [*] Код работает как -> Oncreate -> runtimer () (Skips handler.post ()) -> OnTart -> onResume -> возвращается к Handler.post (). < /li> < /ol>
Почему он пропускает hander.post () < /code> в первую очередь? < /p>
У меня есть два textview.settext (). Но первый не работает. Это всегда последний. Я положил второй, чтобы увидеть, что делает код после метода postdelay (). < /Li> < /ol>
Почему первый не работает? Я ожидаю, что текст будет прыгать вперед и назад от «Привет» на «HH: MM: SS». < /li> < /ol>
Запускает ли код работает нормально, и когда его 1 секунду называется Postdelay ()? Разве это не должно быть .run () < /code>? < /p>
[code]public class MainActivity extends AppCompatActivity { private boolean running = false; private int counter = 0; private Handler handler = new Handler();
public void onClickStart(View view){ running = true; }
public void runTimer(){ final TextView textView = findViewById(R.id.timer);
handler.post(new Runnable() {
@Override public void run() { int hours = counter/3600; int minutes = (counter%3600)/60; int secs = counter%60;
String time = String.format("%d:%02d:%02d", hours, minutes, secs); textView.setText(time); // Doesn't set it to this - see last line
if(running){ counter++; } handler.postDelayed(this,1000); // what does happens between next one second textView.setText("hell0"); // Always set it to this }
Я поместил несколько строк в файл string.xml следующим образом.
The book was written by Mr. Martin Vikramasinghe.\nපොත ලිව්වේ මාටින් වික්රමසිංහ විසින්.
Соответствующий XML-код textview:
Затем я установил «text1749» из файла string.xml для...
Я поместил несколько строк в файл string.xml следующим образом.
The book was written by Mr. Martin Vikramasinghe.\nපොත ලිව්වේ මාටින් වික්රමසිංහ විසින්.
Соответствующий XML-код textview:
Затем я установил «text1749» из файла string.xml для...
Я разрабатываю приложение, в котором у меня есть компонент TextEdit, в который пользователь может вводить числовое значение. Это значение представляет собой денежную стоимость, поэтому - как часть потери фокуса - приложение должно обновить введенную...
Я разрабатываю приложение, в котором у меня есть компонент TextEdit, в который пользователь может вводить числовое значение. Это значение представляет собой денежную стоимость, поэтому - как часть потери фокуса - приложение должно обновить введенную...