2016-02-11 67 views
0
public class MasterDetailFragment extends Fragment { 
    public interface onButtonItemSelected { 
     public void onButtonItemSelected(int id); 
    } 
    onButtonItemSelected mListner; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Defines the xml file for the fragment 
     View view = inflater.inflate(R.layout.masterdetail_fragment, container, false); 
     // Setup handles to view objects here 
     // etFoo = (EditText) view.findViewById(R.id.etFoo); 
     return view; 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 
     Button _fragment0=(Button) getActivity().findViewById(R.id.button1); 
     Button _fragment1=(Button) getActivity().findViewById(R.id.button2); 
     Button _fragment2=(Button) getActivity().findViewById(R.id.button3); 


     mListner=(onButtonItemSelected) getContext(); 
     _fragment1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       int id = v.getId(); 
       System.out.println(" ************ GENERATED ID IS : " + id); 

       if(id==R.id.fragment1) { 
        FragmentTransaction fragTransaction = getFragmentManager().beginTransaction(); 
        fragTransaction.replace(R.id.masterdetail_fragment,new MovieDetailFragment()); 
        fragTransaction.addToBackStack(null); 
        fragTransaction.commit(); 
        System.out.println(" ************ button1 " + id); 
       } 

      } 
     }); 
     _fragment0.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       int id = v.getId(); 
       System.out.println(" ************ GENERATED ID IS : " + id); 

       if(id==R.id.fragment0) { 
        mListner.onButtonItemSelected(R.id.myname); 
        System.out.println(" ************ button2 : " + id); 
       } 

      } 
     }); 



    } 
} 

我想加載movieDetail片段從一個按鈕單擊事件masterDetail片段。 我無法添加movieDetail片段的新實例,因爲它會引發以下編譯時錯誤。我應該怎麼做才能添加電影細節片段的新實例。調用另一個片段上的按鈕點擊

enter image description here

+0

** ** MovieDetailFragment應延長** **片段 – Amir

+0

如果你擴展,請分享某條代碼** ** MovieDetailFragment的 – Amir

回答

0

當你想從當前片段類去另一個片段你應該使用的

getChildFragmentManager() 

代替

getFragmentManager() 

這是解決你的問題。

+0

錯誤仍然ppersists – askatral

+0

@askatral可你把** MasterDetails的XML * *和java代碼** MovieDetails ** – Amir

相關問題