android - Changing fragment with click on imagebutton -


i new android. , trying create app have 3 imagebuttons on top in horizontal line , fragment in below portion can change click of button (same tinder android app). have tried using 2 different fragments, 1 3 image buttons , other below one). tried using gridview images , fragment in below portion. have tried using images , dynamically changing fragments. have got different errors resulting in crashes. want know how can achieve objective in efficient way?

edit : codes following when using images without gridview or fragments imagebuttons.

package com.psycho.ayush.sahanubhooti_20;  import android.support.v4.app.fragmentactivity; import android.os.bundle; import android.support.v4.app.fragmenttransaction; import android.view.view; import android.widget.imagebutton; import android.widget.toast;  public class mainactivity extends fragmentactivity {      imagebutton ngosbutton, profilebuttton, donatebutton;     ngosfragment ngosfragment;     profilefragment profilefragment;     donatefragment donatefragment;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          ngosbutton = (imagebutton)findviewbyid(r.id.ngobutton);         profilebuttton = (imagebutton)findviewbyid(r.id.profilebutton);         donatebutton = (imagebutton)findviewbyid(r.id.donatebutton);          ngosbutton.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view view) {                 fragmenttransaction fragtrans = getsupportfragmentmanager().begintransaction();                 fragtrans.add(r.id.fragment_container, ngosfragment);                 fragtrans.addtobackstack(null);                 fragtrans.commit();             }         });     }  }      <?xml version="1.0" encoding="utf-8"?> <framelayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin"     android:id="@+id/fragment_container"     tools:context="com.psycho.ayush.sahanubhooti_20.mainactivity">       <imagebutton         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:id="@+id/ngobutton"         android:src="@drawable/ngo"         android:background="@android:color/transparent" />      <imagebutton         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:id="@+id/profilebutton"         android:layout_gravity="center_horizontal|top"         android:src="@drawable/profile"         android:background="@android:color/transparent" />      <imagebutton         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:id="@+id/donatebutton"         android:layout_gravity="right|top"         android:src="@drawable/donate"         android:background="@android:color/transparent" />  </framelayout> 

rest have 3 fragments(ngosfragment, donatefragment , profilefragment), have not changed. have not added onclicklistener rest of button in here.

  07-25 21:18:09.111 23385-23407/com.psycho.ayush.sahanubhooti_20 i/openglrenderer: initialized egl, version 1.4 07-25 21:18:09.111 23385-23407/com.psycho.ayush.sahanubhooti_20 w/openglrenderer: failed choose config egl_swap_behavior_preserved, retrying without... 07-25 21:18:18.321 23385-23385/com.psycho.ayush.sahanubhooti_20 e/androidruntime: fatal exception: main                                                                                   process: com.psycho.ayush.sahanubhooti_20, pid: 23385                                                                                   java.lang.nullpointerexception: attempt write field 'android.support.v4.app.fragmentmanagerimpl android.support.v4.app.fragment.mfragmentmanager' on null object reference                                                                                       @ android.support.v4.app.backstackrecord.doaddop(backstackrecord.java:418)                                                                                       @ android.support.v4.app.backstackrecord.add(backstackrecord.java:408)                                                                                       @ com.psycho.ayush.sahanubhooti_20.mainactivity$1.onclick(mainactivity.java:30)                                                                                       @ android.view.view.performclick(view.java:4756)                                                                                       @ android.view.view$performclick.run(view.java:19761)                                                                                       @ android.os.handler.handlecallback(handler.java:739)                                                                                       @ android.os.handler.dispatchmessage(handler.java:95)                                                                                       @ android.os.looper.loop(looper.java:135)                                                                                       @ android.app.activitythread.main(activitythread.java:5253)                                                                                       @ java.lang.reflect.method.invoke(native method)                                                                                       @ java.lang.reflect.method.invoke(method.java:372)                                                                                       @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)                                                                                       @ com.android.internal.os.zygoteinit.main(zygoteinit.java:694) 

set on click listener on buttons , set below code set different fragments on frame layout. frame layout id resource id of frame layout set in activity , fragment class fragment created called on click of image buttons.

 getsupportfragmentmanager().begintransaction().replace(r.id.frame layout id, fragment class name).commit() 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -