问题描述
嗨,我想在 Fragment 类上添加浮动操作按钮,但是当我添加工具 AppCompatActivity 时,我收到此错误:
“'android.support.v4.app.Fragment' 中的 getLoaderManager()' 与 'android.app.Activity' 中的 'getLoaderManager()' 冲突;试图使用不兼容的返回类型”
公共类 home 扩展 Fragment 实现 AppCompatActivity{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home, container, false);
return rootView;
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
}
1楼
只需从片段中删除“implements AppCompatActivity”并将“extends AppCompatActivity”添加到包含片段的活动中。
2楼
我知道这个问题很老,但对于其他任何寻找这个解决方案的人来说,只需在onCreateView 的右括号之前的最后一个写返回视图。
3楼
您在实际使用 fab 之前返回 rootview。
View rootView = inflater.inflate(R.layout.home, container, false);
FloatingActionButton fab = (FloatingActionButton) rootView.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
return rootView;