2014-03-03 51 views
0

我使用本教程,使滑動菜單thisandroid-調用方法片段存在從她的活動

//這是我的名字片段

HomeFragment.java 
    package info.androidhive.slidingmenu; 

    import android.app.Fragment; 
    import android.os.Bundle; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 

    public class HomeFragment extends Fragment { 

     public HomeFragment(){} 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 

      View rootView = inflater.inflate(R.layout.fragment_home, container, false); 

      return rootView; 
     } 

      public void refresh_data(){ 
     // my code goes here 
      } 
      } 

我想調用refresh_data()方法主要活動 在主菜單中

@Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      // toggle nav drawer on selecting action bar app icon/title 
      if (mDrawerToggle.onOptionsItemSelected(item)) { 
       return true; 
      } 
      // Handle action bar actions click 
      switch (item.getItemId()) { 
      case R.id.refresh: 
      //i should call refresh method here 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
      } 
    } 

任何一個可以幫助我,我怎麼能在這裏分配片段標籤 預先感謝您

+0

考慮對你的碎片處理的動作欄選項(在的onCreate(),調用'setHasOptionsMenu(真)'),然後覆蓋' onCreateOptionsMenu()'和'onOptionsItemSelected()'從你的Fragment。 – kcoppock

回答

1

set setHasOptionsMenu(true); 上創建視圖

,並覆蓋上選擇項目中選擇

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     // consider your menu have refresh item 
    case R.id.refresh: 
     Toast.makeText(getActivity(), "Refresh active", Toast.LENGTH_LONG).show(); 
     refresh_messages(); 
     break; 

    default: 
     break; 
    } 
     return super.onOptionsItemSelected(item); 
    } 

refresh_messages(){ 


//refresh code here 
} 
0

在您的主要活動,假設你的片段有一個名爲R.id.details的ID,

HomeFragment f = (HomeFragment)getFragmentManager().findFragmentById(R.id.details); 
if(f != null) { 
    f.refresh_data(); 
} 

您可以在XML佈局文件分配一個ID到一個片段。