当前位置: 代码迷 >> Android >> 在 Fragment 类上实现浮动操作按钮
  详细解决方案

在 Fragment 类上实现浮动操作按钮

热度:47   发布时间:2023-08-04 12:08:44.0

嗨,我想在 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();
        }
    });

}

}

只需从片段中删除“implements AppCompatActivity”并将“extends AppCompatActivity”添加到包含片段的活动中。

我知道这个问题很老,但对于其他任何寻找这个解决方案的人来说,只需onCreateView 的右括号之前的最后一个写返回视图

您在实际使用 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;
  相关解决方案