Таймер обратного отсчета пропускается в моей логике цикла while, и я не совсем понимаю, почемуAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Таймер обратного отсчета пропускается в моей логике цикла while, и я не совсем понимаю, почему

Сообщение Anonymous »

Я пытаюсь распечатать значения широты и долготы с моего датчика GPS через регулярные интервалы в 1 секунду. Я пытаюсь сделать это самым простым способом и включил свой основной код ниже (пожалуйста, игнорируйте форматирование и имена переменных. Мой проект — всего лишь проверка того, могу ли я получить доступ к датчикам телефона).
В методе onCreate:
(у меня есть все необходимые разрешения манифеста и среды выполнения)

Код: Выделить всё

tv1 = (TextView) findViewById(R.id.tv1);
while(true)
{
System.out.println("in while");
//tv1.append("IN WHILE");  //PROBLEM 2
new CountDownTimer(1000, 500)
{
@SuppressLint("MissingPermission")
public void onFinish()
{
fusedLocationClient.getCurrentLocation(LocationRequest.QUALITY_HIGH_ACCURACY, cancellationTokenSource.getToken());
//                                    addOnSuccessListener(this, new OnSuccessListener() {
//                                @Override
//                                public void onSuccess(Location location) {
//                                    latitude = location.getLatitude();
//                                    longitude = location.getLongitude();
//                                    System.out.println("LOCATION ACQUIRED!!!!!!!");
//                                }
//                            }).addOnFailureListener(this, new OnFailureListener() {
//                                @Override
//                                public void onFailure(@NonNull Exception e) {
//                                    System.out.println("LOCATION FAILED!!!!!!!!!");
//                                }
//                            });
System.out.println("in timer 2"); //PROBLEM 1
tv1.append("IN timer 2");
workGPS();

}
public void onTick(long millisUntilFinished)
{
//                              // millisUntilFinished    The amount of time until finished.
}
}.start();
}
Здесь две проблемы:
  • Текст «В таймере» никогда не печатается. В журналах или в текстовом представлении. Это говорит мне о том, что таймер обратного отсчета, вероятно, не введен.
  • Закомментированная строка tv1.append("IN WHILE"); выдает ошибку java.lang.NullPointerException: попытка вызвать виртуальный метод void android.widget.TextView.append(java.lang.CharSequence)' по ссылке на нулевой объект.
Я думаю, что проблема 2 — это ошибка с моей стороны — недостаточное понимание некоторых концепций. Но я не уверен в проблеме 1. Не могли бы вы помочь мне понять, что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... tly-sure-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»