片段无法转换

时间:2017-09-02 17:31:07

标签: android fragment

我想在父活动中创建我的片段的实例,但它显示此错误:

错误:(16,71)错误:不兼容的类型:片段无法转换为TextFragment

我的代码:

TextFragment frag =(TextFragment)getFragmentManager().findFragmentById(R.id.textFragment);

TextFragment代码:

public class TextFragment extends Fragment{

private long workoutId;

public TextFragment() {
    // Required empty public constructor
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_text, container, false);
}


public void setWorkoutId(long workoutId) {
    this.workoutId = workoutId;
}

}

4 个答案:

答案 0 :(得分:1)

检查您是否使用了错误的导入

getFragmentManager()导入为android.app.Fragment

如果您使用此导入android.support.v4.app.Fragment

然后将getFragmentManager()更改为getSupportFragmentManager()

修改

TextFragment tf = new TextFragment();
getFragmentManager()
                    .beginTransaction()
                    .add(R.id.textFragment,tf)
                    .commit();

答案 1 :(得分:0)

您应该使用getSupportFragmentManager(),而不是getFragmentManager()

答案 2 :(得分:0)

我解决了。 在我的TextFragment中,我导入android.support.v4.app.Fragment和我的MainActivity import android.app.Fragment如果两者必须相同。

答案 3 :(得分:-1)

检查你编写片段的xml标签的布局文件,你必须将TextFragment分配给它的类属性,例如。