0

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

school_guy
  • 300
  • 2
  • 14
  • Duplicate: http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it – Kuffs Feb 17 '16 at 19:01

2 Answers2

1

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);
            //...
}
Krasimir Stoev
  • 1,734
  • 11
  • 9
  • That`s right, just saw the code and was gonna write back to you. If convertView is null, you have to inflate a view and return it – Krasimir Stoev Feb 17 '16 at 18:55
  • Ok, is there a way to avoid recreating parts of a listView element that are the same or just skip recreating an element? Because e.g. when this listView has 15000 elements this wont be fun for the user. – school_guy Feb 17 '16 at 18:59
  • The current maximum I think will be around 200000 elements in this listView in worst case. – school_guy Feb 17 '16 at 19:00
  • https://www.codeofaninja.com/2013/09/android-viewholder-pattern-example.html - here is an explanation. I think they are explaining it pretty well in this article. – Krasimir Stoev Feb 17 '16 at 19:14
  • Basically with the ViewHolder pattern you create new views only when there are no views to recycle. Thus you get smoothness and efficiency. – Krasimir Stoev Feb 17 '16 at 19:15
0

Update your activity tag for the MainActivity in your AndroidManifest.xml file with the new package naming.

user3623735
  • 345
  • 2
  • 9