2015-11-07 170 views
0

我有選項卡活動,我想使用一個按鈕,但是當我點擊按鈕時,它強制關閉應用程序。你能告訴我發生了什麼事,我是Android新手。Android:按鈕OnClick不工作在SherlockFragment

public class HomeActivity extends SherlockFragment { 
    private Button bt; 
    private Context con; 


    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.home_layout, container, false); 
     bt = (Button)rootView.findViewById(R.id.btn); 
     bt.setOnClickListener(new View.OnClickListener(){ 
      @Override public void onClick(View v) 
      { 

       Toast.makeText(con, "hello", Toast.LENGTH_LONG).show(); 

      }  
     }); 

     return rootView; 

    } 


} 
+1

請發佈home_layout.xml以及您應該在logcat中查看的錯誤。 你爲什麼使用AcionBarSherlock!??! – P1x

回答

0

當我點擊按鈕,就強制關閉應用程序

由於語境的con對象是null。用於在按鈕onClick方法中顯示Toast消息。

做得一樣:

Toast.makeText(v.getContext(), "hello", Toast.LENGTH_LONG).show(); 

而且在onCreateView通過調用初始化getActivity()對象con爲:

con=getActivity(); 
+0

把敬酒留在一旁,當我使用別的東西時,onclick不起作用。 –

+0

@EmmJay:再次看到我的回答 –

+0

@EmmJay:當我使用別的東西時,你的意思是什麼? –

0

如果你能避免這種情況,不保持上下文的引用;而不是

private Context con; 

得到的代碼當前活動,所以使用

Toast.makeText(getActivity(), "hello", Toast.LENGTH_LONG).show(); 

順便說一句,這似乎是你崩潰的原因,因爲上下文爲空。

+0

感謝您的幫助 –