android - Adding event with reminders to calendar using intent -
i've transferred data new activity -> hotellistadapter.java hotelpage.java
i set log sure data have been transferred successfully. log working , show variables value , textview , imageview not display data (or variables )...
this logcat:
07-25 20:57:33.214 4041-4041/ir.homa i/log: 2130903040 07-25 20:57:33.214 4041-4041/ir.homa i/log: هما - بندرعباس 07-25 20:57:33.214 4041-4041/ir.homa i/log: 187 07-25 20:57:33.214 4041-4041/ir.homa i/log: 0
this hotellistadapter.java :
package ir.homa; import android.content.context; import android.content.intent; import android.support.v7.widget.popupmenu; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.menuinflater; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.relativelayout; import android.widget.textview; import android.widget.toast; import com.bumptech.glide.glide; import java.util.list; /** * created smq on 7/3/2016. */ public class hotellistadapter extends recyclerview.adapter<hotellistadapter.myviewholder> { private context mcontext; private list<hotellist> hotellist; private list<hotelpagelist> hotelpage; public class myviewholder extends recyclerview.viewholder { public textview title, count; public imageview thumbnail, overflow; public relativelayout card; public myviewholder(view view) { super(view); title = (textview) view.findviewbyid(r.id.title); count = (textview) view.findviewbyid(r.id.count); thumbnail = (imageview) view.findviewbyid(r.id.thumbnail); overflow = (imageview) view.findviewbyid(r.id.overflow); card = (relativelayout) view.findviewbyid(r.id.card); } } public hotellistadapter(context mcontext, list<hotellist> hotellist) { this.mcontext = mcontext; this.hotellist = hotellist; } @override public myviewholder oncreateviewholder(viewgroup parent, int viewtype) { view itemview = layoutinflater.from(parent.getcontext()) .inflate(r.layout.hotel_list, parent, false); return new myviewholder(itemview); } @override public void onbindviewholder(final myviewholder holder, final int position) { final hotellist hotel = hotellist.get(position); holder.title.settext(hotel.getname()); holder.count.settext(hotel.getnumofrooms() + " اتاق"); // loading hotel cover using glide library glide.with(mcontext).load(hotel.getthumbnail()).into(holder.thumbnail); holder.overflow.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { showpopupmenu(holder.overflow); } }); holder.thumbnail.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { int thumbnail1 = hotel.getthumbnail(); string name1 = hotel.getname(); int count1 = hotel.getnumofrooms(); int position1 = holder.getadapterposition(); switch(holder.getadapterposition()) { case 0: intent intent = new intent(mcontext,hotelpage.class); intent.putextra("position1", position1); intent.putextra("thumbnail", thumbnail1); intent.putextra("name", name1); intent.putextra("count", count1); mcontext.startactivity(intent); break; case 1: intent intent2 = new intent(mcontext, hotelpage.class); intent2.putextra("position1", position1); mcontext.startactivity(intent2); break; } } }); } /** * run intent filter when user clicked on each thumbnails! */ // create anonymous implementation of onclicklistener /** * showing popup menu when tapping on 3 dots */ private void showpopupmenu(view view) { // inflate menu popupmenu popup = new popupmenu(mcontext, view); menuinflater inflater = popup.getmenuinflater(); inflater.inflate(r.menu.hotel_list_menu, popup.getmenu()); popup.setonmenuitemclicklistener(new mymenuitemclicklistener()); popup.show(); } class mymenuitemclicklistener implements popupmenu.onmenuitemclicklistener { public mymenuitemclicklistener() { } @override public boolean onmenuitemclick(menuitem menuitem) { switch (menuitem.getitemid()) { case r.id.action_add_favourite: toast.maketext(mcontext, "به علاقه مندی ها افزوده شد!", toast.length_short).show(); return true; case r.id.action_hotel_next: toast.maketext(mcontext, "بزودی در دسترس قرار میگیرد!", toast.length_short).show(); return true; default: } return false; } } @override public int getitemcount() { return hotellist.size(); } } hotelpageadapter: package ir.homa; import android.content.context; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.relativelayout; import android.widget.textview; import com.bumptech.glide.glide; import java.util.list; /** * created smq on 7/20/2016. */ public class hotelpageadapter extends recyclerview.adapter<hotelpageadapter.myviewholder> { private context mcontext; private list<hotelpagelist> hotelpage; public class myviewholder extends recyclerview.viewholder { public textview title1, count1; public imageview thumbnail1; public relativelayout card; public myviewholder(view view) { super(view); title1 = (textview) view.findviewbyid(r.id.title1); count1 = (textview) view.findviewbyid(r.id.count1); thumbnail1 = (imageview) view.findviewbyid(r.id.thumbnail1); card = (relativelayout) view.findviewbyid(r.id.card); } } public hotelpageadapter(context mcontext, list<hotelpagelist> hotelpage) { this.mcontext = mcontext; this.hotelpage = hotelpage; } @override public myviewholder oncreateviewholder(viewgroup parent, int viewtype) { view itemview = layoutinflater.from(parent.getcontext()) .inflate(r.layout.hotel_page, parent, false); return new myviewholder(itemview); } @override public void onbindviewholder(myviewholder holder, int position) { hotelpage getextras = new hotelpage(); final hotelpagelist hotel = hotelpage.get(position); holder.title1.settext(getextras.name); holder.count1.settext(getextras.count + " اتاق"); // loading hotel cover using glide library glide.with(mcontext).load(hotel.getthumbnail()).into(holder.thumbnail1); } @override public int getitemcount() {return hotelpage.size();} }
this hotelpage.java:
package ir.homa; import android.app.activity; import android.content.context; import android.content.res.resources; import android.graphics.rect; import android.os.bundle; import android.support.v7.widget.recyclerview; import android.util.log; import android.util.typedvalue; import android.view.view; import android.widget.imageview; import com.bumptech.glide.glide; import java.util.arraylist; import java.util.list; /** * created smq on 7/17/2016. */ public class hotelpage extends activity { private context mcontext; private recyclerview recyclerview; private hotelpageadapter adapter; private list<hotelpagelist> hotelpage; private list<hotellist> hotellist; private view view; public string name; public int count; public int thumbnail; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.hotel_page); hotelpage = new arraylist<>(); adapter = new hotelpageadapter(this, hotelpage); preparehotels(); try { glide.with(this).load(r.color.bg_main).into((imageview) findviewbyid(r.id.backdrop)); } catch (exception e) { e.printstacktrace(); } } private int dptopx(int dp) { resources r = getresources(); return math.round(typedvalue.applydimension(typedvalue.complex_unit_dip, dp, r.getdisplaymetrics())); } private void preparehotels() { final hotelpagelist hotel = new hotelpagelist(); bundle extras = getintent().getextras(); name = extras.getstring("name"); count = extras.getint("count"); thumbnail = extras.getint("thumbnail"); log.i("log", string.valueof(thumbnail)); log.i("log", name); log.i("log", string.valueof(count)); log.i("log", string.valueof(hotel.position1)); hotelpagelist b = new hotelpagelist( name , count, thumbnail); hotelpage.add(b); adapter.notifydatasetchanged(); } // create anonymous implementation of onclicklistener /** * recyclerview item decoration - give equal margin around grid item */ public class gridspacingitemdecoration extends recyclerview.itemdecoration { private int spancount; private int spacing; private boolean includeedge; public gridspacingitemdecoration(int spancount, int spacing, boolean includeedge) { this.spancount = spancount; this.spacing = spacing; this.includeedge = includeedge; } @override public void getitemoffsets(rect outrect, view view, recyclerview parent, recyclerview.state state) { int position = parent.getchildadapterposition(view); // item position int column = position % spancount; // item column if (includeedge) { outrect.left = spacing - column * spacing / spancount; // spacing - column * ((1f / spancount) * spacing) outrect.right = (column + 1) * spacing / spancount; // (column + 1) * ((1f / spancount) * spacing) if (position < spancount) { // top edge outrect.top = spacing; } outrect.bottom = spacing; // item bottom } else { outrect.left = column * spacing / spancount; // column * ((1f / spancount) * spacing) outrect.right = spacing - (column + 1) * spacing / spancount; // spacing - (column + 1) * ((1f / spancount) * spacing) if (position >= spancount) { outrect.top = spacing; // item top } } } } }
this xml (hotel_page.xml) :
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:orientation="vertical"> <linearlayout android:layout_width="fill_parent" android:layout_height="288dp"> <android.support.v7.widget.cardview android:id="@+id/card_view1" android:layout_width="match_parent" android:layout_height="288dp" android:elevation="3dp" card_view:cardcornerradius="0dp" android:gravity="top"> <relativelayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/card" android:focusable="true" android:contextclickable="true" android:gravity="top" android:layout_alignparentbottom="true"> <imageview android:id="@+id/thumbnail1" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/selectableitembackgroundborderless" android:clickable="true" android:src="@drawable/ic_menu_send" android:contextclickable="true" android:layout_alignparenttop="true" android:layout_alignparentleft="true" android:layout_alignparentstart="true" /> <textview android:id="@+id/title1" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingleft="10dp" android:paddingright="25dp" android:paddingtop="10dp" android:textcolor="@color/cardview_dark_background" android:textsize="15dp" android:layout_above="@+id/count1" android:layout_alignparentleft="true" android:layout_alignparentstart="true" /> <textview android:id="@+id/count1" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingbottom="5dp" android:paddingleft="10dp" android:paddingright="25dp" android:textsize="12dp" android:layout_alignparentbottom="true" android:layout_alignparentleft="true" android:layout_alignparentstart="true" /> </relativelayout> </android.support.v7.widget.cardview> </linearlayout> </linearlayout>
please real expert answer hardship question...! <3
Comments
Post a Comment