Getting an error: onCreate(Bundle) in class clashes with onCreate(Bundle) in android.support.v4.app.Fragment
Getting an error: onCreate(Bundle) in class clashes with onCreate(Bundle) in android.support.v4.app.Fragment
我做了一个 class Navigation
扩展了 Fragment
。当我使用 onCreate()
方法时,它给我错误提示 class 的 onCreate()
方法与 android.support.v4.app.Fragment
的 onCreate()
方法冲突。
package com.beacons.railwayaid.tablayoutapp;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.customlbs.library.IndoorsFactory;
import com.customlbs.surface.library.IndoorsSurfaceFactory;
import com.customlbs.surface.library.IndoorsSurfaceFragment;
public class Navigation extends Fragment {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder();
IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder();
indoorsBuilder.setContext(getContext());
indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f");
indoorsBuilder.setBuildingId((long) 979231679);
surfaceBuilder.setIndoorsBuilder(indoorsBuilder);
IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(android.R.id.content, indoorsFragment, "indoors");
transaction.commit();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2_railway_navigation, container, false);
return rootView;
}
}
尝试将您的代码移动到 onActivityCreated
方法,如下所示:
public class Navigation extends Fragment {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2_railway_navigation, container, false);
return rootView;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder();
IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder();
indoorsBuilder.setContext(getContext());
indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f");
indoorsBuilder.setBuildingId((long) 979231679);
surfaceBuilder.setIndoorsBuilder(indoorsBuilder);
IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(android.R.id.content, indoorsFragment, "indoors");
transaction.commit();
}
}
变化:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
}
至:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
我做了一个 class Navigation
扩展了 Fragment
。当我使用 onCreate()
方法时,它给我错误提示 class 的 onCreate()
方法与 android.support.v4.app.Fragment
的 onCreate()
方法冲突。
package com.beacons.railwayaid.tablayoutapp;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.customlbs.library.IndoorsFactory;
import com.customlbs.surface.library.IndoorsSurfaceFactory;
import com.customlbs.surface.library.IndoorsSurfaceFragment;
public class Navigation extends Fragment {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder();
IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder();
indoorsBuilder.setContext(getContext());
indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f");
indoorsBuilder.setBuildingId((long) 979231679);
surfaceBuilder.setIndoorsBuilder(indoorsBuilder);
IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(android.R.id.content, indoorsFragment, "indoors");
transaction.commit();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2_railway_navigation, container, false);
return rootView;
}
}
尝试将您的代码移动到 onActivityCreated
方法,如下所示:
public class Navigation extends Fragment {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tab2_railway_navigation, container, false);
return rootView;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
IndoorsFactory.Builder indoorsBuilder = new IndoorsFactory.Builder();
IndoorsSurfaceFactory.Builder surfaceBuilder = new IndoorsSurfaceFactory.Builder();
indoorsBuilder.setContext(getContext());
indoorsBuilder.setApiKey("69af5e85-007a-4df5-8715-d1c2c22e206f");
indoorsBuilder.setBuildingId((long) 979231679);
surfaceBuilder.setIndoorsBuilder(indoorsBuilder);
IndoorsSurfaceFragment indoorsFragment = surfaceBuilder.build();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(android.R.id.content, indoorsFragment, "indoors");
transaction.commit();
}
}
变化:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
}
至:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}