Search code examples
javaandroidmain-activity

Execution fail after moving MainActivity.java in Subfolder


I am currently working on my Android project. Like the title reads I moved my MainActivity.java file into my Activitys package, I did this because a friend of mine suggested me this to reasons of overview. Now I am getting the following error Code after launching, build and install works finde.

My project can be viewed at: https://github.com/SchoolGuy/GCFunde

02-17 19:39:24.890  16607-16607/de.noname.enno.gcfunde E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: de.noname.enno.gcfunde, PID: 16607
    java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
            at android.widget.AbsListView.obtainView(AbsListView.java:2483)
            at android.widget.ListView.makeAndAddView(ListView.java:1864)
            at android.widget.ListView.fillDown(ListView.java:698)
            at android.widget.ListView.fillFromTop(ListView.java:759)
            at android.widget.ListView.layoutChildren(ListView.java:1673)
            at android.widget.AbsListView.onLayout(AbsListView.java:2271)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1034)
            at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:744)
            at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
            at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1180)
            at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:757)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
            at android.view.View.layout(View.java:15695)
            at android.view.ViewGroup.layout(ViewGroup.java:4981)
            at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2209)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1943)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1126)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6041)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:792)
            at android.view.Choreographer.doCallbacks(Choreographer.java:596)
            at android.view.Choreographer.doFrame(Choreographer.java:557)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:778)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:155)
            at android.app.ActivityThread.main(ActivityThread.java:5727)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029)
            at com.android.internal.os.
02-17 19:39:28.163  16607-16607/de.noname.enno.gcfunde D/Process﹕ killProcess, pid=16607
02-17 19:39:28.173  16607-16607/de.noname.enno.gcfunde D/Process﹕ com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException:138 java.lang.ThreadGroup.uncaughtException:693 java.lang.ThreadGroup.uncaughtException:690

Would be great if you could help me. I am working by the way with IntelliJ 15.0.2 and I did already a Invalidate Cache and Restart. As far as I can see I think the problem is not directly in a class of mine.

Thanks in advance, School_guy


Solution

  • This seems to be a ListView issue - probably your getView method returns null instead of an actual View object. Check your ListAdapter implementation and be sure to never return null in the public View getView(int position, View convertView, ViewGroup parent) method.

    As I can see from your code in the GeocacheListAdapter.java, the if statement is wrong - the check should be if (convertView == null) instead of if(convertView != null)

    if (convertView == null) {
                Holder holder = new Holder();
                convertView = layoutInflater.inflate(R.layout.row_layout, null);
                //...
    }