无法从FragmentActivity转换为Fragment

时间:2014-07-21 10:47:47

标签: android android-fragments

我在app中使用了片段。当我将FragmentActivity类的构造函数传递给片段时,它会给出一个错误,即“类型不匹配:无法从ReadFragment转换为Fragment”。在此先感谢您的帮助

ReadFragment.java

public class ReadFragment extends FragmentActivity {

public ReadFragment(){

}
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.read_layout);
 }
}

MainActivity.java

......
    Fragment fragment = null;

    fragment = new ReadFragment();
......
}

2 个答案:

答案 0 :(得分:0)

FragmentActivity不是片段,因此无法分配给Fragment类型的变量。您的ReadFragment应该扩展Fragment。我建议做this教程来学习片段的基础知识,并可能在网上搜索Java教程,这是Java的基础知识。

public class ReadFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        //For more info how to implement this i highly suggest you read the tutorial.
    }

    ...
}

扩展Fragment时,您还需要覆盖OnCreateView。

答案 1 :(得分:0)

我想你要做的是:

public class ReadFragment extends Fragment {

或(这不应该起作用,因为你不能从一个转换到另一个):

fragment_activity = new ReadFragment();
fragment = (fragment) fragment_activity;

现在你可以选择