我是Android编码的初学者,我正在尝试用两个片段做一个应用程序.不幸的是,当我添加代码来设置动作到我的布局时,它会让我的应用程序崩溃,所以我想知道我应该把我的代码放在片段文件上.如果我取出onCreate函数,应用程序不会崩溃,我的布局也很好.
这是我的代码.非常感谢你的回答.
public class FragmentOne extends Fragment{ public static final String TAG = "FragmentOne"; public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { VIEw v = VIEw.inflate(getActivity(), R.layout.fragmentone, null); return v; } public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final EditText etData = (EditText) getVIEw().findVIEwByID(R.ID.etData); }}
解决方法:
首先,我可以看到你的代码中有一些错误.首先,正如@ user1873880所提到的,onCreate()总是在onCreateVIEw()之前被调用,所以你应该考虑在onCreateVIEw()中处理你的视图.我可以看到的第二个错误是你没有创建你的VIEw,因为它被设计用于Fragment.在我看来,你的片段应该看起来像这样:
public class FragmentOne extends Fragment { private static final String TAG = "FragmentOne"; public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container, Bundle savedInstanceState) { super.onCreateVIEw(inflater, container, savedInstanceState); // create your vIEw using LayoutInflater return inflater.inflate(R.layout.fragmentone, container, false); } public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // do your variables initialisations here except VIEws!!! } public voID onVIEwCreated(VIEw vIEw, Bundle savedInstanceState){ super.onVIEwCreated(vIEw, savedInstanceState); // initialise your vIEws EditText etData = (EditText) vIEw.findVIEwByID(R.ID.etData); }}
希望这对你有所帮助! 总结
以上是内存溢出为你收集整理的Android – 将代码添加到片段全部内容,希望文章能够帮你解决Android – 将代码添加到片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)