android - 不兼容的类型:getFragmentManager 不起作用
问题描述
导入 android.support.v4.app.FragmentManager 后,它仍然显示有关 getFragmentManager 的错误。它说Required: android.support.v4.app.Fragmentmanager, but Found: android.app.FragmentManager.
这很奇怪,因为后者甚至没有导入到库中。我正在使用 API 15,因此我阅读了其他主题,原因可能是我必须使用 getSupportFragmentManager。
不幸的是,我无法联系 SupportFragmentManager 出了什么问题?可能是导入库的问题?
package com.example.slidenerdinterfrag;
import android.app.Activity;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends Activity implements Communicator{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void respond(String data) {
FragmentManager manager=getFragmentManager();
FragmentB f2= (FragmentB) manager.findFragmentById(R.id.fragment2);
f2.changeText(data);
}
}
解决方案
改用getSupportFragmentManager _
@Override public void respond(String data) { FragmentManager
manager=getSupportFragmentManager(); FragmentB f2=
(FragmentB) manager.findFragmentById(R.id.fragment2);
f2.changeText(data); }
推荐阅读
- html - HTML&CSS 调节内容高度
- javascript - npm 复制脚本在 Windows 8.1 上不起作用
- javascript - Vue 依赖在本地的行为与 npm 不同
- r - 具有多个调解员的因果调解包
- json - 在 Laravel 中获取帖子的正文内容
- python - 连接多个 Pandas 数据帧时出现内存错误
- java - 如何使用返回 Mono 的数据库调用对 Flux 中的每个对象进行连接
- c++ - 在 Solaris 11 DeveloperStudio12.6 中使用重载 = 运算符进行转换失败
- r - 分析数据框列表中的数据框并将所有结果存储在单个数据框中
- arrays - int *arr[] 如何是指向 int 的指针数组,但 char *arr[] 是指向字符串的指针数组?