操作步骤
首先重写Fragment类里面的
public void onActivityCreated(Bundle savedInstanceState)
方法,这个方法相当于Activity类中的onCreate()
在系统默认生成的MainActivity.java中,我们到达下面系统生成的代码中可以这样操控控件:
假设我们在XML文件中定义了一个Button控件,一个EditText控件
public static class PlaceholderFragment extends Fragment {
Button bShow = null;
EditText editUrl = null;
public PlaceholderFragment()
{
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
return rootView;
}
//关键在此方法
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
bShow = (Button) getView().findViewById(R.id.bShow);
editUrl = (EditText) getView().findViewById(R.id.editUrl);
//注册监听器
bShow.setOnClickListener(new ButtonListner());
}
//设置按钮监听器
private class ButtonListner implements View.OnClickListener
{
public void onClick(View v)
{
Toast.makeText(getActivity(),"你好", 1).show();
}
}
}//类的结尾括号
程序运行后,点击你设置的按钮,就可以看到Toast弹出的“你好”提示了,注意,所有控件都是在fragment_main.xml中配置的。
在SDK更新强制更新之后,系统中突然多了这么多代码,对于新手来说,没有接触过Fragment,很容易搞不清楚如何去响应在fragment_main。xml中设定的控件。
这个问题困扰了我一段时间,终于在整合了网上的资料之后把这个问题解决了,希望能帮到更多像自己一样正在学习android新手