Java 方法不重写其超类中的方法
有谁能告诉我,为什么会显示此错误(甚至有更好的解决方案)?Java 方法不重写其超类中的方法,java,android,overriding,superclass,Java,Android,Overriding,Superclass,有谁能告诉我,为什么会显示此错误(甚至有更好的解决方案)? 我是Java(和Android)开发新手,所以我真的不知道我的错 我的代码: 导入android.os.Bundle; 导入android.support.v4.app.Fragment; 导入android.support.v4.app.FragmentTransaction; 导入android.view.LayoutInflater; 导入android.view.view; 导入android.view.ViewGroup; 导
我是Java(和Android)开发新手,所以我真的不知道我的错 我的代码:
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentTransaction;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.Button;
公共类选择类型扩展片段{
公共选择_类型(){
//必需的空公共构造函数
}
@覆盖//替换:
public View onCreateView(View view, LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
与:
作为
另外,不要使用super.onViewCreated(view,savedInstanceState);
。在您所在的位置调用它既不必要也不合适
请注意,该方法中的return
语句之后的所有内容都不会执行,因为您首先返回。请将充气器。充气(…)
结果分配给一个局部变量,使用它,然后在方法末尾返回该变量。您还可以覆盖两个方法:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_select_type, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button btn = (Button) view.findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
noVIP TextFragment = new noVIP();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, TextFragment);
transaction.addToBackStack(null);
transaction.commit();
}
});
}
好的,但是现在,我怎样才能创建按钮btn=(按钮)视图。findViewById(R.id.btn)
?@NiklasZeroZero:将充气器。充气(…)
结果分配给一个局部变量。可以随意调用视图视图视图。然后,在视图上调用findViewById()
。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_select_type, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Button btn = (Button) view.findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
noVIP TextFragment = new noVIP();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, TextFragment);
transaction.addToBackStack(null);
transaction.commit();
}
});
}