我想在父活动中创建我的片段的实例,但它显示此错误:
错误:(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;
}
}
答案 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分配给它的类属性,例如。