[英]Android: Button OnClick not working in SherlockFragment
我在其中要使用按钮的选项卡活动,但是当我单击按钮时,它会强制关闭应用程序。 您能告诉我发生了什么吗,我是Android新手。
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;
}
}
当我单击按钮时,它会强制关闭应用程序
因为Context的con
对象为null
。 用于在Button onClick
方法中显示Toast消息。
这样做:
Toast.makeText(v.getContext(), "hello", Toast.LENGTH_LONG).show();
然后通过在onCreateView
调用getActivity()
来初始化con
对象:
con=getActivity();
如果可以避免这种情况,请不要保留对上下文的引用; 而不是
private Context con;
在代码中获取当前的Activity,因此使用
Toast.makeText(getActivity(), "hello", Toast.LENGTH_LONG).show();
顺便说一句,这似乎是导致崩溃的原因,因为Context为null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.