如何从Android中的片段启动浏览器活动
我想从我的片段打开浏览器 但当我启动我的应用程序时,它崩溃了 怎么了如何从Android中的片段启动浏览器活动,android,android-intent,fragment,Android,Android Intent,Fragment,我想从我的片段打开浏览器 但当我启动我的应用程序时,它崩溃了 怎么了 public class C_spider extends Fragment { Button btn_off2; public C_spider() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bu
public class C_spider extends Fragment {
Button btn_off2;
public C_spider() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_cspider, container, false);
btn_off2 = (Button)view.findViewById(R.id.btn_off2);
btn_off2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://www.google.com"));
getActivity().startActivity(i);
}
});
return view;
}
}
尝试将代码放入onActivityCreated()中
如果没有堆栈跟踪,我们将无能为力。请发布logcat并向我们显示引发异常的确切行,这样我们就可以更好地了解什么是错误的Fragment还有一个
startActivity()
方法,因此您无需调用getActivity()
。
public class C_spider extends Fragment {
Button btn_off2;
public C_spider() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view= inflater.inflate(R.layout.fragment_cspider, container, false);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
btn_off2 = (Button)getActivity().findViewById(R.id.btn_off2);
btn_off2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://www.google.com"));
getActivity().startActivity(i);
}
});
}
}