2016-05-23 102 views
0

這是通過使用Google搜索和閱讀另一個堆棧溢出答案實現的代碼II。但任何答案都不適合我。點擊按鈕從一個片段導航到另一個片段

下面的代碼此錯誤 - 「未找到ID視圖0x7f09009e

請幫我實現這個

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

//////more code here ////// 

OnClickListener listner = new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Fragment fragment=null; 
       if(v==rootView.findViewById(R.id.Button)){ 
        fragment = new SortListFragment(); 
       } 
       FragmentManager manager =getFragmentManager(); 
       FragmentTransaction transaction = manager.beginTransaction(); 
       transaction.replace(R.id.fragment_sort, fragment); 
       transaction.commit(); 


      } 
     }; 

     ImageButton btn = (ImageButton)rootView.findViewById(R.id.button); 
     btn.setOnClickListener(listner); 

     return rootView; 
    } 
+0

沒有嘗試處理onClick事件和使用接口在活動類中插入新片段? –

+0

請提供佈局文件。它似乎是id sortButton或按鈕不存在 – sonique

+0

首先充氣佈局。並使用膨脹視圖來查找佈局視圖(如imagebutton) – Sackurise

回答

0

添加此線以上上點擊聽者:

rootview = inflater.inflate(R.layout.<your layout xml>, container, 
        false); 
+0

我在我的代碼中有這段代碼 – tenten

+0

刪除此行super.onCreateView(inflater,container,savedInstanceState);並檢查 – AbhayBohra

1
ButtonOnClickInterface interface; 
public void onCreateView(//parameters){ 
    View view=//inflate the view; 
    Button button =(Button)view.findViewById(R.id.buttonId); 
    button.setOnClickListener(new View.OnclickListener{ 
     @Override 
     public void onClick(View v){ 
      try{ 
       interface.onClick(); 
      }catch(Throwable e){ 
       //may be null 
      } 
     } 
    }); 
} 

@Override 
public void onAttach(Context c){ 
    super.onAttach(c); 
    try{ 
     interface=(ButtonOnClickInterface)c; 
    }catch(Throwable e){ 
     //not implemented 
    } 
} 

而你的界面

interface ButtonOnClickInteface{ 
    void onClick(); 
} 

在您的活動中實現此接口。

+0

這是什麼'myActivity' – tenten

+0

對不起我的壞。更新了安裝程序。 –

+0

感謝幫助斯里蘭卡同胞。但代碼沒有做任何事情:( – tenten

0

我想你忘了提供佈局文件,其中你已經把按鈕和所有。

所以,請在下方提供您的代碼行「super.OnCreateView()

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

然後檢查其是否工作後,希望這將工作

+0

我有這條線 – tenten

+0

確保佈局傳遞的是正確的,並且按鈕在佈局中只在活動中沒有。還要檢查在聲明中你寫了R.id.button(意思是小按鈕),並在點擊列表器中比較R.id.Button(Capital「B」 ),所以請檢查它。 – Vickyexpert

+0

如果是這種情況,它會產生一個空指針異常。 –

相關問題