2015-11-07 121 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

感谢您的帮助 –