Крит програми при переходи по активити

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 13:39

И снова я. При возврате на главное активити после нескольких повторений происходит крит программьі, в чем трабла я не могу понять.
Вот логи ошибки

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

06-02 13:25:40.383: E/AndroidRuntime(25908): FATAL EXCEPTION: main
06-02 13:25:40.383: E/AndroidRuntime(25908): java.lang.RuntimeException: Unable to resume activity {com.example.bomba/com.example.bomba.MainActivity}: java.lang.NullPointerException
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2823)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2862)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1288)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.os.Handler.dispatchMessage(Handler.java:99)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.os.Looper.loop(Looper.java:156)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.ActivityThread.main(ActivityThread.java:4987)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at java.lang.reflect.Method.invoke(Method.java:511)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at dalvik.system.NativeStart.main(Native Method)
06-02 13:25:40.383: E/AndroidRuntime(25908): Caused by: java.lang.NullPointerException
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:374)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:369)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.vk.sdk.VKAccessToken.tokenFromSharedPreferences(VKAccessToken.java:199)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.vk.sdk.VKSdk.wakeUpSession(VKSdk.java:398)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.vk.sdk.VKSdk.wakeUpSession(VKSdk.java:389)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at com.example.bomba.MainActivity.onResume(MainActivity.java:177)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1236)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.Activity.performResume(Activity.java:4620)
06-02 13:25:40.383: E/AndroidRuntime(25908): 	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2807)

Вот код реализации перехода на радительское активити

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


public void onCreate(Bundle savedInstanceState) {
....................
...................
bar.setDisplayHomeAsUpEnabled(true);
......................
...................
}
 public boolean onOptionsItemSelected(MenuItem item) {
			// Handle action bar item clicks here. The action bar will
			// automatically handle clicks on the Home/Up button, so long
			// as you specify a parent activity in AndroidManifest.xml.
			int id = item.getItemId();
			if (id == R.id.action_settings) {
				return true;
			}
			switch (id) {
	  		case android.R.id.home:
		    this.finish();
		    break;
			}
			return super.onOptionsItemSelected(item);
		}
Кто знает в чем может бьіть мой косяк?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Крит програми при переходи по активити

Сообщение klblk » 02 июн 2015, 13:46

at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-

Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Re: Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 13:48

klblk писал(а):at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-
И? ето типа ошибка в 177 строчке?

Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Re: Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 13:57

Да креш бьіл из за ифа в том месте

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

protected void onResume() {
        super.onResume();
        Log.d(LOG_TAG, "resum");
        if (VKSdk.wakeUpSession()) {
         	 Log.d(LOG_TAG, "avtorizovan");
         	btnautor.setText("Мій профіль");
         	
         	} 
          else {
         	 
         	  Log.d(LOG_TAG, "ne avtorizovan");
         	btnautor.setText("Авторизація");
         	
         	}
      }
Как правильно организовать код чтоб функциона остался тот же а вот краш програми ищез?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Крит програми при переходи по активити

Сообщение rezak90 » 02 июн 2015, 13:58

klblk писал(а):at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-
exactly
R.id.team
Политика на форуме запрещена

Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Re: Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 14:02

С местом ошибки розобрались =) спасибо. А как зделать чтоб функционал остался, если все закоментить или удалить то не критует, но мне надо что оно меняло имя кнопки...

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Крит програми при переходи по активити

Сообщение rezak90 » 02 июн 2015, 14:07

Alibard писал(а):С местом ошибки розобрались =) спасибо. А как зделать чтоб функционал остался, если все закоментить или удалить то не критует, но мне надо что оно меняло имя кнопки...
You should check objects for null.
R.id.team
Политика на форуме запрещена

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Крит програми при переходи по активити

Сообщение klblk » 02 июн 2015, 14:11

VKSdk.wakeUpSession() -> VKSdk.wakeUpSession(this)
попробуй

Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Re: Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 14:13

Can you show example? Or it something such "if(4toto == null){ delaem to to}

Alibard
Сообщения: 70
Зарегистрирован: 20 янв 2015, 19:48

Re: Крит програми при переходи по активити

Сообщение Alibard » 02 июн 2015, 14:18

klblk писал(а):VKSdk.wakeUpSession() -> VKSdk.wakeUpSession(this)
попробуй

СПАСИБО ПОМОГЛО! Слушай можеш обяснить новечку почему оно спиравило ошибку? и что визивало посилание на нулевую точку?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Крит програми при переходи по активити

Сообщение klblk » 02 июн 2015, 14:24

Потому что контекст который использовался VKSdk по умолчанию почему-то стал null (почему не знаю, т.к. с SDK не работал, и исходники особо не смотрел). В качестве альтернативы использовать функцию, где контекст мы передаем вручную (в данном случае текущую Activity - this), тем более как можно судить из лога ошибки он используется для получения значения из SharedPreferences, а для этого любой контекст сгодится.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Крит програми при переходи по активити

Сообщение rezak90 » 02 июн 2015, 14:35

потому что нужно использовать контекст апликейшена, он null не будет в лайф цикле активити
R.id.team
Политика на форуме запрещена

Ответить