我正在尝试在更改应用程序中的语言设置后重新创建片段和活动,但getActivity().recreate();部分内容出现了我无法理解原因的错误。错误是:
E/ActivityInjector: get life cycle exception
Run Code Online (Sandbox Code Playgroud)
当我尝试重新创建活动时发生错误。这是我的代码SettingsActivity.java:
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_activity);
getSupportFragmentManager().beginTransaction().replace(R.id.settings, new SettingsFragment()).commit();
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
public static class SettingsFragment extends PreferenceFragmentCompat {
ListPreference languages;
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.root_preferences, rootKey);
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
languages = getPreferenceManager().findPreference("language");
languages.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override …Run Code Online (Sandbox Code Playgroud) 目前我正在尝试将 JVM 选项传递给我的 docker-compose.yml 文件。“环境:”中的 JVM_OPTS 部分似乎不起作用。还有另一种方法可以将 JVM 选项传递给 docker-compose.yml 文件吗?
而且我的 DockerFile 映像来自 openjdk:8-jre-alpine。
我的 docker-compose.yml 文件是这样的。
version: '3.1'
services:
service:
image: registry.gitlab.com/project/service/${BRANCH}:${TAG}
container_name: serviceApp
env_file: docker-compose.env
environment:
- JVM_OPTS=-XX:NativeMemoryTracking=summary
-XX:+StartAttachListener
-XX:+UseSerialGC
-Xss512k
-Dcom.sun.management.jmxremote.rmi.port=8088
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=8088
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=localhost
ports:
- 8088:8088
networks:
- services
working_dir: /opt/app
command: ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/service.jar""]
networks:
services:
external:
name: services
Run Code Online (Sandbox Code Playgroud)
如果您询问这些参数,我正在尝试将 VisualVM 连接到本地 docker 容器。
我正在尝试从之前放置的数据库中删除索引。
@Indexed(unique = true)
private String name;
Run Code Online (Sandbox Code Playgroud)
删除 后@Indexed(unique = true),我也需要将其从 中删除MongoDB。我需要在春季内完成。@PostConstruct我可以用什么东西来做吗?