First fragment app in android with many errors -


i start learning android , wanted build app fragments got many errors , don't know start debug beginner want ask find bug/bugs , know how debug kind of problems enter code here

07-09 23:16:45.075    8822-8822/? i/art﹕ not late-enabling -xcheck:jni (already on) 07-09 23:16:45.273    8822-8822/com.example.android.myapplication d/androidruntime﹕ shutting down vm 07-09 23:16:45.274    8822-8822/com.example.android.myapplication e/androidruntime﹕ fatal exception: main     process: com.example.android.myapplication, pid: 8822     java.lang.runtimeexception: unable start activity componentinfo{com.example.android.myapplication/com.example.android.myapplication.mainactivity}: android.view.inflateexception: binary xml file line #9: error inflating class fragment             @ android.app.activitythread.performlaunchactivity(activitythread.java:2325)             @ android.app.activitythread.handlelaunchactivity(activitythread.java:2390)             @ android.app.activitythread.access$800(activitythread.java:151)             @ android.app.activitythread$h.handlemessage(activitythread.java:1303)             @ android.os.handler.dispatchmessage(handler.java:102)             @ android.os.looper.loop(looper.java:135)             @ android.app.activitythread.main(activitythread.java:5257)             @ java.lang.reflect.method.invoke(native method)             @ java.lang.reflect.method.invoke(method.java:372)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:698)      caused by: android.view.inflateexception: binary xml file line #9: error inflating class fragment             @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:763)             @ android.view.layoutinflater.rinflate(layoutinflater.java:806)             @ android.view.layoutinflater.inflate(layoutinflater.java:504)             @ android.view.layoutinflater.inflate(layoutinflater.java:414)             @ android.view.layoutinflater.inflate(layoutinflater.java:365)             @ android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249)             @ android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106)             @ com.example.android.myapplication.mainactivity.oncreate(mainactivity.java:25)             @ android.app.activity.performcreate(activity.java:5990)             @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2278)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2390)             at android.app.activitythread.access$800(activitythread.java:151)             at android.app.activitythread$h.handlemessage(activitythread.java:1303)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5257)             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:903)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:698)      caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.button.setonclicklistener(android.view.view$onclicklistener)' on null object reference             @ com.example.android.myapplication.topfragment.oncreateview(topfragment.java:54)             @ android.support.v4.app.fragment.performcreateview(fragment.java:1789)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:924)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1116)             @ android.support.v4.app.fragmentmanagerimpl.addfragment(fragmentmanager.java:1218)             @ android.support.v4.app.fragmentmanagerimpl.oncreateview(fragmentmanager.java:2170)             @ android.support.v4.app.fragmentactivity.oncreateview(fragmentactivity.java:300)             @ android.support.v7.app.appcompatdelegateimplv7.callactivityoncreateview(appcompatdelegateimplv7.java:838)             @ android.support.v7.app.appcompatdelegateimplv11.callactivityoncreateview(appcompatdelegateimplv11.java:34)             @ android.support.v7.app.appcompatdelegateimplv7.oncreateview(appcompatdelegateimplv7.java:826)             @ android.support.v4.view.layoutinflatercompathc$factorywrapperhc.oncreateview(layoutinflatercompathc.java:44)             @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:725)             at android.view.layoutinflater.rinflate(layoutinflater.java:806)             at android.view.layoutinflater.inflate(layoutinflater.java:504)             at android.view.layoutinflater.inflate(layoutinflater.java:414)             at android.view.layoutinflater.inflate(layoutinflater.java:365)             at android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:249)             at android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:106)             at com.example.android.myapplication.mainactivity.oncreate(mainactivity.java:25)             at android.app.activity.performcreate(activity.java:5990)             at android.app.instrumentation.callactivityoncreate(instrumentation.java:1106)             at android.app.activitythread.performlaunchactivity(activitythread.java:2278)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2390)             at android.app.activitythread.access$800(activitythread.java:151)             at android.app.activitythread$h.handlemessage(activitythread.java:1303)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5257)             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:903)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:698) 07-09 23:16:45.282    8822-8834/com.example.android.myapplication i/art﹕ background partial concurrent mark sweep gc freed 172(20kb) allocspace objects, 0(0b) los objects, 34% free, 7mb/11mb, paused 15.024ms total 30.293ms 07-09 23:18:50.643    8822-8829/com.example.android.myapplication w/art﹕ suspending threads took: 5.642ms 

bottomfragment

package com.example.android.myapplication;  import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.textview;  /** * created 0110 on 09/07/2015. */ public class bottomfragment extends fragment {  private static textview centerview; private static textview bottomview;   @nullable @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view view = inflater.inflate(r.layout.topfragment,container,false);      centerview = (textview) view.findviewbyid(r.id.firsttext);     bottomview = (textview) view.findviewbyid(r.id.secondtext);          return view; }   public void setmeme(string top, string bottom){      centerview.settext(top);     bottomview.settext(bottom); } 

}

topfragment

package com.example.android.myapplication;   import android.app.activity; import android.os.bundle; import android.support.v4.app.fragment; import android.support.annotation.nullable; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.button; import android.widget.edittext;  /**  * created 0110 on 08/07/2015.  */   public class topfragment extends fragment {   public static edittext first; public static edittext second;   topfraglistener activitycommander;  public interface topfraglistener{      void creatmeme(string top, string bottom); }   @override public void onattach(activity activity) {     super.onattach(activity);     try {         activitycommander = (topfraglistener)activity;     }catch (classcastexception e){         throw new classcastexception(activity.tostring());     } }  @nullable @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view view = inflater.inflate(r.layout.bottomframgent,container,false);       first = (edittext) view.findviewbyid(r.id.edittext);     second = (edittext)view.findviewbyid(r.id.edittext2);     final button button = (button) view.findviewbyid(r.id.button);       button.setonclicklistener(             new view.onclicklistener(){                 public void onclick(view v){                     buttonclicked(v);                 }             }     );        return view; }   public void buttonclicked(view v){     activitycommander.creatmeme(first.gettext().tostring(),second.gettext().tostring());  } 

}

mainactivity

package com.example.android.myapplication;  import android.support.v7.app.actionbaractivity;  import android.os.bundle; import android.view.menu; import android.view.menuitem;    public class mainactivity extends actionbaractivity implements     topfragment.topfraglistener{   @override public void creatmeme(string top, string bottom) {     bottomfragment bottomfragment = (bottomfragment)  getsupportfragmentmanager().findfragmentbyid(r.id.fragment2);     bottomfragment.setmeme(top,bottom);   }  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main); }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.menu_main, menu);     return true; }  @override public boolean onoptionsitemselected(menuitem item) {     // handle action bar item clicks here. action bar     // automatically handle clicks on home/up button, long     // specify parent activity in androidmanifest.xml.     int id = item.getitemid();      //noinspection simplifiableifstatement     if (id == r.id.action_settings) {         return true;     }      return super.onoptionsitemselected(item); } } 

mainactivity xml

<relativelayout 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:orientation="vertical"  tools:context=".mainactivity">  <fragment     android:layout_width="match_parent"     android:layout_height="240dp"     android:name="com.example.android.myapplication.topfragment"     android:id="@+id/fragment"      tools:layout="@layout/topfragment"     android:layout_alignparentleft="true"     android:layout_marginleft="0dp"     android:layout_alignparenttop="true"     android:layout_margintop="0dp" />  <fragment     android:layout_width="match_parent"     android:layout_height="500dp"     android:name="com.example.android.myapplication.bottomfragment"     android:id="@+id/fragment2"     android:layout_gravity="center_horizontal"      tools:layout="@layout/bottomframgent"     android:layout_alignparentleft="true"     android:layout_marginleft="0dp"     android:layout_below="@+id/fragment" /> </relativelayout> 

topfragment xml

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/topfrag">  <edittext     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:id="@+id/edittext"     android:layout_alignparenttop="true"     android:layout_centerhorizontal="true"     android:gravity="center_horizontal"     android:text="@string/toptext"     android:layout_margintop="20dp"/>  <edittext     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:id="@+id/edittext2"     android:layout_below="@+id/edittext"     android:layout_centerhorizontal="true"     android:layout_margintop="36dp"     android:gravity="center_horizontal"     android:text="@string/bottomtext" />  <button     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:text="@string/buttontext"     android:id="@+id/button"     android:layout_below="@+id/edittext2"     android:layout_centerhorizontal="true" /> </relativelayout> 

bottemfragment xml

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/abcdef" android:id="@+id/bottomfrag">  <textview     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:textappearance="?android:attr/textappearancelarge"     android:text="centerview"     android:gravity="center_horizontal"     android:id="@+id/firsttext"     android:layout_centervertical="true"     android:layout_centerhorizontal="true"     android:textcolor="#fff"/>  <textview     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:textappearance="?android:attr/textappearancelarge"     android:text="bottomtext"     android:gravity="center_horizontal"      android:id="@+id/secondtext"     android:layout_alignparentbottom="true"     android:layout_centerhorizontal="true"     android:textcolor="#fff" /> </relativelayout> 

you inlfating wrong xml file in topfragment:

view view = inflater.inflate(r.layout.bottomframgent,container,false); 

instead of

 view view = inflater.inflate(r.layout.topfragment,container,false); 

and vice versa bottom fragment


Comments