2011-09-19 3 views
0

У меня есть MapView в моем приложении. При нажатии на overlayItem появляется всплывающее окно с информацией о месте. Нажав на значок, пользователь должен перейти к другому действию.Исключение Null-Pointer при запуске Intent from MapView через MainActivity?

Я первый отправить контроль внутри метода

BalloonItemizedOverlay<OverlayItem>.MapBalloonItemizedOverlay.onBalloonTap(int index, OverlayItem item) 

на страницу MainActivity с помощью:

MainActivityObject.gotoMethod(); 

т.е.

@Override 
public boolean onBalloonTap(int index, OverlayItem item) 
{ 
    MainActivityObject.gotoMethod(); 
    return true; 
} 

Затем в этом методе I код:

try 
    { 
    Intent goIntent = new Intent(MainActivity.this, NextActivity.class); 
    startActivity(goIntent); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 

Но я получаю ошибку ниже нулевого указателя исключение:

09-19 16:02:56.707: WARN/System.err(2454): java.lang.NullPointerException 
09-19 16:02:56.717: WARN/System.err(2454):  at android.content.ContextWrapper.getPackageName(ContextWrapper.java:120) 
09-19 16:02:56.717: WARN/System.err(2454):  at android.content.ComponentName.<init>(ComponentName.java:75) 
09-19 16:02:56.717: WARN/System.err(2454):  at android.content.Intent.<init>(Intent.java:2678) 
09-19 16:02:56.717: WARN/System.err(2454):  at towerCo.Android.Main.MapsActivity.showDetailpage(MapsActivity.java:897) 
09-19 16:02:56.717: WARN/System.err(2454):  at towerCo.Android.MapOverLays.MapBalloonItemizedOverlay.onBalloonTap(MapBalloonItemizedOverlay.java:55) 
09-19 16:02:56.717: WARN/System.err(2454):  at mapViewBalloon.BalloonItemizedOverlay$1.onTouch(BalloonItemizedOverlay.java:169) 
09-19 16:02:56.717: WARN/System.err(2454):  at android.view.View.dispatchTouchEvent(View.java:3762) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.727: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671) 
09-19 16:02:56.727: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
09-19 16:02:56.727: WARN/System.err(2454):  at android.app.Activity.dispatchTouchEvent(Activity.java:2086) 
09-19 16:02:56.738: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655) 
09-19 16:02:56.738: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.738: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.738: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.738: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.738: WARN/System.err(2454):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936) 
09-19 16:02:56.738: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671) 
09-19 16:02:56.747: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
09-19 16:02:56.747: WARN/System.err(2454):  at android.app.Activity.dispatchTouchEvent(Activity.java:2086) 
09-19 16:02:56.747: WARN/System.err(2454):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655) 
09-19 16:02:56.747: WARN/System.err(2454):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1785) 
09-19 16:02:56.747: WARN/System.err(2454):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-19 16:02:56.747: WARN/System.err(2454):  at android.os.Looper.loop(Looper.java:123) 
09-19 16:02:56.747: WARN/System.err(2454):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
09-19 16:02:56.747: WARN/System.err(2454):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-19 16:02:56.747: WARN/System.err(2454):  at java.lang.reflect.Method.invoke(Method.java:521) 
09-19 16:02:56.747: WARN/System.err(2454):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
09-19 16:02:56.747: WARN/System.err(2454):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
09-19 16:02:56.747: WARN/System.err(2454):  at dalvik.system.NativeStart.main(Native Method) 
+0

Похоже, что это конструктор Intent, который взрывается из функции, называемой showDetailpage. Можете ли вы опубликовать этот код? Это откуда вызывается метод gotoMethod? – brianestey

+0

Благодарим за комментарий. Я обновил комментарий. Я также где-то читал, что мне нужно напрямую получить доступ к активности, содержащей мой MapView, а не создать новый объект MainActivity. Пожалуйста, посоветуйте. – Ahmed

+0

Выполняет ли 'MainActivityObject'' действие'? Как вы его создаете? –

ответ

1

Я думаю, что я нашел ответ в другой post.I будет перепечатывать его здесь для других:

Mapview start new activity when a baloonOverlay is clicked

Заменить это:

MainActivity MainActivityObject = new MainActivity(); 
sub.startCustomActivity(); 

с этим:

Intent Details = new Intent(context, Tab.class); 
context.startActivity(Details); 

Таким образом, мы в основном должны использовать переменный контекст мы получили от MapView проходил в нашем классе наложения, чтобы начать свою деятельность.

Спасибо всем, что помогли мне раньше. Оценил!

Смежные вопросы