Страница 1 из 1

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

Добавлено: 02 июн 2015, 13:39
Alibard
И снова я. При возврате на главное активити после нескольких повторений происходит крит программьі, в чем трабла я не могу понять.
Вот логи ошибки

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

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);
		}
Кто знает в чем может бьіть мой косяк?

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

Добавлено: 02 июн 2015, 13:46
klblk
at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-

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

Добавлено: 02 июн 2015, 13:48
Alibard
klblk писал(а):at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-
И? ето типа ошибка в 177 строчке?

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

Добавлено: 02 июн 2015, 13:57
Alibard
Да креш бьіл из за ифа в том месте

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

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("Авторизація");
         	
         	}
      }
Как правильно организовать код чтоб функциона остался тот же а вот краш програми ищез?

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

Добавлено: 02 июн 2015, 13:58
rezak90
klblk писал(а):at com.example.bomba.MainActivity.onResume(MainActivity.java:177) <-
exactly

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

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

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

Добавлено: 02 июн 2015, 14:07
rezak90
Alibard писал(а):С местом ошибки розобрались =) спасибо. А как зделать чтоб функционал остался, если все закоментить или удалить то не критует, но мне надо что оно меняло имя кнопки...
You should check objects for null.

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

Добавлено: 02 июн 2015, 14:11
klblk
VKSdk.wakeUpSession() -> VKSdk.wakeUpSession(this)
попробуй

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

Добавлено: 02 июн 2015, 14:13
Alibard
Can you show example? Or it something such "if(4toto == null){ delaem to to}

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

Добавлено: 02 июн 2015, 14:18
Alibard
klblk писал(а):VKSdk.wakeUpSession() -> VKSdk.wakeUpSession(this)
попробуй

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

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

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

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

Добавлено: 02 июн 2015, 14:35
rezak90
потому что нужно использовать контекст апликейшена, он null не будет в лайф цикле активити