android - RecyclerView inside Coordinate layout -
i using recyclerview inside coordinator layout.in main.xml have save button , edit text field. on click save button need pass edit text value next xml have recyclerview. run time error occurs. happening code?
mainactivity:
public class mainactivity extends appcompatactivity implements recyclerviewadapter.onitemclicklistener { edittext textin,txtheading; button buttonadd,btnsave; linearlayout container; private recyclerview myrecyclerview; private linearlayoutmanager linearlayoutmanager; private recyclerviewadapter myrecyclerviewadapter; private recyclerview.layoutmanager recyclermanager; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); myrecyclerview = (recyclerview)findviewbyid(r.id.recyclerview_builderxml); linearlayoutmanager = new linearlayoutmanager(this, linearlayoutmanager.vertical, false); myrecyclerviewadapter = new recyclerviewadapter(this); myrecyclerviewadapter.setonitemclicklistener(this); myrecyclerview.setadapter(myrecyclerviewadapter); myrecyclerview.setlayoutmanager(linearlayoutmanager); txtheading = (edittext)findviewbyid(r.id.heading); btnsave =(button) findviewbyid(r.id.btn_save); btnsave.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { string newname = txtheading.gettext().tostring(); intent intent = new intent(getapplicationcontext(),builderpage.class); myrecyclerviewadapter.add(0,newname); startactivity(intent); toast.maketext(mainactivity.this,"you added" +newname.touppercase()+ "in view",toast.length_long).show(); } }); } @override public void onitemclick(recyclerviewadapter.itemholder item, int position) { } }
builderpage
/* * created niroj on 8/29/16. */ public class builderpage extends appcompatactivity { @bindview(r.id.edittxtsurvey) edittext edittxtsurveyname; @bindview(r.id.toolbar_builderxml) toolbar toolbar1; @bindview(r.id.recyclerview_builderxml) recyclerview recyclerview_builder; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.builder_layout); butterknife.bind(this); setsupportactionbar(toolbar1); getsupportactionbar().setdisplayshowtitleenabled(false); // display menu incons menu_main xml }
}
and builder.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.coordinatorlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinatorlayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.recyclerview android:id="@+id/recyclerview_builderxml" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.appbarlayout android:id="@+id/appbarlayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.toolbar android:id="@+id/toolbar_builderxml" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" app:layout_scrollflags="scroll|enteralways"> </android.support.v7.widget.toolbar> </android.support.design.widget.appbarlayout> </android.support.design.widget.coordinatorlayout>
this adapterclass recycler
public class recyclerviewadapter extends recyclerview.adapter<recyclerviewadapter.itemholder> { private list<string> headingname; private onitemclicklistener onitemclicklistener; private layoutinflater layoutinflater; public recyclerviewadapter(context context){ layoutinflater = layoutinflater.from(context); headingname = new arraylist<string>(); } @override public recyclerviewadapter.itemholder oncreateviewholder(viewgroup parent, int viewtype) { view itemview = layoutinflater.inflate(r.layout.list_item, parent, false); return new itemholder(itemview, this); } @override public void onbindviewholder(recyclerviewadapter.itemholder holder, int position) { holder.setitemname(headingname.get(position)); } @override public int getitemcount() { return headingname.size(); } public void setonitemclicklistener(onitemclicklistener listener){ onitemclicklistener = listener; } public onitemclicklistener getonitemclicklistener(){ return onitemclicklistener; } public interface onitemclicklistener{ public void onitemclick(itemholder item, int position); } public void add(int location, string iname){ headingname.add(location, iname); notifyiteminserted(location); } public static class itemholder extends recyclerview.viewholder implements view.onclicklistener{ private recyclerviewadapter parent; textview textheadingname; public itemholder(view itemview, recyclerviewadapter parent) { super(itemview); itemview.setonclicklistener(this); this.parent = parent; textheadingname = (textview) itemview.findviewbyid(r.id.title_name); } public void setitemname(charsequence name){ textheadingname.settext(name); } public charsequence getitemname(){ return textheadingname.gettext(); } @override public void onclick(view v) { final onitemclicklistener listener = parent.getonitemclicklistener(); if(listener != null){ listener.onitemclick(this, getposition()); } } } }
this manifest
<?xml version="1.0" encoding="utf-8"?>
<application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme" > <!--android:theme="@style/theme.appcompat.light"--> > <activity android:name=".mainactivity"> <intent-filter> <action android:name="android.intent.action.main" android:theme ="@android:style/theme.black.notitlebar.fullscreen"/> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application>
you haven't added activity tag builder page in manifest. in manifest add activity tag builder page
<application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme" > <!--android:theme="@style/theme.appcompat.light"--> > <activity android:name=".mainactivity"> <intent-filter> <action android:name="android.intent.action.main" android:theme ="@android:style/theme.black.notitlebar.fullscreen"/> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <!--activity tag builderpage--> <activity android:name=".builderpage"> </activity> </application>
Comments
Post a Comment