Using both AppCompat and Youtube API in one activity with firebase and RecyclerView in Android -


i working on application in both appcompatactivity , youtube api should used, reasons unable use both in same activity when use appcompatacticity toolbar youtube api stops working , if extends youtubebaseactivity toolbar not work, using recyclerview , firebase database in applcation, can me , tell me how can implement appcompatactivity , youtubeapi both work, have researched many forums did not provide useful information on doing so, please help.

i using android studio

youtube class file :

    public class homepage extends youtubebaseactivity{          private recyclerviewpager mrecyclerview;         private databasereference mdatabasereference;       @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_home_page);         mdatabasereference = firebasedatabase.getinstance().getreference().child("holla");         mrecyclerview = (recyclerviewpager) findviewbyid(r.id.list);         final linearlayoutmanager layout = new linearlayoutmanager(homepage.this, linearlayoutmanager.vertical, false);         mrecyclerview.setlayoutmanager(layout);         toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);         setsupportactionbar(toolbar);         mauth = firebaseauth.getinstance();         mrecyclerview.setontouchlistener(new view.ontouchlistener() {             @override             public boolean ontouch(view v, motionevent event) {                 if (event.getaction() == motionevent.action_down) {                     if (getsupportactionbar().isshowing()) {                         getsupportactionbar().hide();                         fab.hide();                     } else {                         getsupportactionbar().show();                         fab.show();                     }                     return true;                 } else return false;             }         });      }      @override     public void onstart() {         super.onstart();         firebaserecycleradapter <post, postviewholder> firebaserecycleradapter = new firebaserecycleradapter<post, postviewholder>(                  post.class,                 r.layout.post_row_recycle_home,                 postviewholder.class,                 mdatabasereference         ) {             @override             protected void populateviewholder(postviewholder viewholder, post model, int position) {                 viewholder.setyoutube(model.getyoutube());              }         };         mrecyclerview.setadapter(firebaserecycleradapter);       }     public static class postviewholder extends recyclerviewpager.viewholder{          view mview;          public postviewholder(view itemview) {             super(itemview);             mview = itemview;         }         public void setyoutube(final string youtube){             final youtubeplayerview youplay = (youtubeplayerview) mview.findviewbyid(r.id.youtuber);             youplay.initialize("some key",                     new youtubeplayer.oninitializedlistener() {                         @override                         public void oninitializationsuccess(youtubeplayer.provider provider,                                                             youtubeplayer youtubeplayer, boolean b) {                              youtubeplayer.cuevideo(youtube);                         }                         @override                         public void oninitializationfailure(youtubeplayer.provider provider,                                                             youtubeinitializationresult youtubeinitializationresult) {                          }                     });         } 

youtube cardview xml:

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.cardview xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:card_view="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/cardview"     android:layout_width="match_parent"     android:layout_height="wrap_content"     card_view:cardcornerradius="10dp">      <linearlayout         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:orientation="vertical">          <com.google.android.youtube.player.youtubeplayerview             android:id="@+id/youtuber"             android:layout_width="match_parent"             android:layout_height="200dp" /> 

log error:

 e/uncaughtexception: java.lang.runtimeexception: unable start activity componentinfo{andromeda.petrochemical/andromeda.petrochemical.homepage}: java.lang.illegalargumentexception: no view found id 0x7f10015f (andromeda.petrochemical:id/watch_video_player) fragment youtubeplayersupportfragment{79044c4 #0 id=0x7f10015f}                                                                               @ android.app.activitythread.performlaunchactivity(activitythread.java:2646)                                                                               @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707)                                                                               @ android.app.activitythread.-wrap12(activitythread.java)                                                                               @ android.app.activitythread$h.handlemessage(activitythread.java:1460)                                                                               @ android.os.handler.dispatchmessage(handler.java:102)                                                                               @ android.os.looper.loop(looper.java:154)                                                                               @ android.app.activitythread.main(activitythread.java:6077)                                                                               @ java.lang.reflect.method.invoke(native method)                                                                               @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865)                                                                               @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)                                                                            caused by: java.lang.illegalargumentexception: no view found id 0x7f10015f (andromeda.petrochemical:id/watch_video_player) fragment youtubeplayersupportfragment{79044c4 #0 id=0x7f10015f}                                                                               @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1293)                                                                               @ android.support.v4.app.fragmentmanagerimpl.movefragmenttoexpectedstate(fragmentmanager.java:1528)                                                                               @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1595)                                                                               @ android.support.v4.app.backstackrecord.executeops(backstackrecord.java:758)                                                                               @ android.support.v4.app.fragmentmanagerimpl.executeops(fragmentmanager.java:2363)                                                                               @ android.support.v4.app.fragmentmanagerimpl.executeopstogether(fragmentmanager.java:2149)                                                                               @ android.support.v4.app.fragmentmanagerimpl.optimizeandexecuteops(fragmentmanager.java:2103)                                                                               @ android.support.v4.app.fragmentmanagerimpl.execpendingactions(fragmentmanager.java:2013)                                                                               @ android.support.v4.app.fragmentcontroller.execpendingactions(fragmentcontroller.java:388)                                                                               @ android.support.v4.app.fragmentactivity.onstart(fragmentactivity.java:607)                                                                               @ android.support.v7.app.appcompatactivity.onstart(appcompatactivity.java:178)                                                                               @ andromeda.petrochemical.homepage.onstart(homepage.java:123)                                                                               @ android.app.instrumentation.callactivityonstart(instrumentation.java:1248)                                                                               @ android.app.activity.performstart(activity.java:6679)                                                                               @ android.app.activitythread.performlaunchactivity(activitythread.java:2609)                                                                               @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707)                                                                                @ android.app.activitythread.-wrap12(activitythread.java)                                                                                @ android.app.activitythread$h.handlemessage(activitythread.java:1460)                                                                                @ android.os.handler.dispatchmessage(handler.java:102)                                                                                @ android.os.looper.loop(looper.java:154)                                                                                @ android.app.activitythread.main(activitythread.java:6077)                                                                                @ java.lang.reflect.method.invoke(native method)                                                                                @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865)                                                                                @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)  

what want achieve

enter image description here

ok have normal homepage activity extend appcompatactivity

at xml file have container videoplayer

   <framelayout         android:id="@+id/watch_video_player"         android:layout_width="match_parent"         android:layout_height="@dimen/watf_main_video" /> 

at activity add player

youtubeplayersupportfragment youtubeplayerfragment = youtubeplayersupportfragment.newinstance();  fragmenttransaction transaction = getsupportfragmentmanager().begintransaction(); transaction.add(r.id.watch_video_player, youtubeplayerfragment).commit(); 

it youtube player initialize normal

 youtubeplayerfragment.initialize(constants.api_key, new youtubeplayer.oninitializedlistener() {                 @override                 public void oninitializationsuccess(youtubeplayer.provider provider, youtubeplayer youtubeplayer, boolean wasrestored) {                      //load , play video current id                     youtubeplayer.loadvideo(youtubeapiutilities.getvideoid(item));                     youtubeplayer.play();                 }                  @override                 public void oninitializationfailure(youtubeplayer.provider provider, youtubeinitializationresult youtubeinitializationresult) {                     toast.maketext(getcontext(), r.string.can_not_initialize_youtube_player, toast.length_long).show();                  }             }); 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -