Я знаю, что существует много разных причин для NPE
, но мой немного странный (по крайней мере, для меня).
Итак, я успешно конвертировал мой Activities
в Fragments
, но моя проблема возникает из функции, отображающей дату. Когда приложение работает, все работает отлично. Но как только вы нажмете кнопку "Назад" . Сила приложения закрывается, затем в журнале говорится, что я получаю NullPointerException
в строке 102. Так что, глядя на код, я занимался этим, но, к сожалению, ничего не получил.
Это строка, в которой происходит ошибка при нажатии кнопки "Назад" .
getActivity().runOnUiThread(new Runnable(){
Также я попытался отключить кнопку "Назад" (поскольку я создаю пусковую установку и не нужен). Но, похоже, он не работает.
Вот код для всего метода отображения даты/функции.
// (Calendar) Date function - Displays dateview on Card
final boolean keepRunning1 = true;
Thread thread_two = new Thread(){
@Override
public void run(){
while(keepRunning1){
// Make the thread wait half a second. If you want...
try {
Thread.sleep(500);
} catch (InterruptedException e) {
Toast.makeText(getActivity().getApplicationContext(), "Default Signature Fail", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
getActivity().runOnUiThread(new Runnable(){
@Override
public void run(){
TextView date = (TextView) getView().findViewById(R.id.date);
date.setText(DateUtils.formatDateTime(getActivity().getBaseContext(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_WEEKDAY | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR));
}
});
}
}
};
thread_two.start();
Спасибо за ваше время, надеюсь, вы можете пролить свет на то, что я делаю неправильно.
Logcat -
05-23 21:17:33.216: E/AndroidRuntime(6906): java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.runOnUiThread(java.lang.Runnable)' on a null object reference
05-23 21:17:33.216: E/AndroidRuntime(6906): at com.activelauncher.fragments.UtilsFragment$2.run(UtilsFragment.java:102)