2017-09-01 257 views
1

我在我的項目中創建了一個選項卡式視圖。有三個片段活動如何從另一個片段活動中的片段活動訪問按鈕

  1. Home_fragment
  2. Category_fragment
  3. Favorite_fragment

我稱之爲Home_fragment在YouTube API顯示的YouTube播放清單。

現在我想在我的Category_fragment中添加三個按鈕。當我打電話一號按鈕,即會顯示我Home_fragment視頻的其他播放列表作爲按鈕2和按鈕3

我如何創建在Home_fragment按鈕可以從Category_fragment調用一個方法?


我做這個代碼爲我的最後一個項目中,我呼叫按鈕從顯示在MainActivity列表中的抽屜。

怎麼能這樣做,但把按鈕放在我的Category_fragment,並打電話給他們在Home_fragment

@Override 


public boolean onNavigationItemSelected(MenuItem item) { 


     getVideosPlaylist home = new getVideosPlaylist(); 
     int id = item.getItemId(); 
     menu_id = id; 

     if (id == R.id.nav_main) { 
      url = url_home; 
      main_toolbar =toolbar; 
      main_toolbar.setTitle(item.getTitle().toString()); 
      videos.clear(); 
      no_fav.setVisibility(View.GONE); 

      home.execute(); 
     }if (id == R.id.nav_catone) { 

      url = url_one; 
      catone = toolbar; 
      catone.setTitle(item.getTitle().toString()); 
      videos.clear(); 
      no_fav.setVisibility(View.GONE); 
      home.execute(); 


     } 

回答

0

當您創建的片段,你可以設置一個標籤,你可以使用以後找到它:

Fragment fragment = YOUR FRAGMENT HERE; 

getSupportFragmentManager().beginTransaction().add(R.id.main_content, fragment, "YOUR TAG HERE").commit(); 

爲了找到它:

Fragment fragment = (YOUR FRAGMENT)getSupportFragmentManager().findFragmentByTag("YOUR TAG HERE"); 

然後你訪問方法:

fragment.yourMethod(); 

讓你的方法公開是很重要的,這樣你才能在課堂外使用它。另外,如果您不使用兼容性,則可以使用getFragmentManager。

相關問題