我的应用程序的安卓 Java构造函数
我是Android开发新手
为了创建一个选项卡式活动,我创建了三个Java类:1)About;2) 搜索;3) 名单
在我的搜索布局中,我希望有一个搜索栏,所以我创建了一个EditText(通过拖放)和一个按钮(通过拖放)
为了使我的标签工作,在我的搜索。java我有以下代码:
public class Search extends Fragment{
//@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.search, container, false);
return rootView;
}
}
现在在我的搜索中。java类我还想开始编写搜索栏的代码,但为了做到这一点,我想我需要一个构造函数,在主活动中这样开始:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
但当我为它编写代码时,它会给我以下错误:
1)在protected
:'com中的onCreate(Bundle)。实例亚历克斯。项目搜索“在”安卓中与“onCreate(Bundle)”一起崩溃。支持v4。应用程序。碎片试图分配较弱的访问权限(“受保护”);是“公开的”
2) 在setContentView
上:无法解析方法“setContentView(int)”
在“onCreate(Bundle)”方法中开始为搜索栏编写Java代码时,我可以做什么或需要做什么更改
还是我需要在别的地方做
我真的很感激任何帮助
# 1 楼答案
这不是构造函数。你问的都是方法
不确定,但是你提到的所有方法通常应该是
public
,而不是protected
你也应该取消评论
@Override
你需要用你所拥有的做一些类似的事情
onCreate
因为一个活动就像onCreateView
,而setContentView
本质上就是return rootView
对片段的作用# 2 楼答案
方法签名有误You can't weaken the access privilege of an overridden method.使用您可以在
OnViewCreated
中访问EditText
:# 3 楼答案
关于第二个问题,看起来您还没有定义
search
布局。你需要在res/layout文件夹中有一个布局search.xml
:阅读更多信息:What is R.layout.search?如果您有
setContentView
方法,那么您应该在扩展*Activity
的MainActivity
类中调用setContentView
方法,因为Fragment
类没有这样的方法