gpt4 book ai didi

java - 错误:(31, 40)错误: incompatible types: android. support.v4.app.Fragment无法转换为android.app.Fragment

转载 作者:行者123 更新时间:2023-11-29 19:14:46 24 4
gpt4 key购买 nike

我在这段代码中遇到问题,我不知道应该使用 android.support.v4.app.Fragment 还是 android.app.Fragment 中的哪一个;

public class MainActivity extends AppCompatActivity {

private SharedPreferences pref;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pref = getPreferences(0);
initFragment();
}

private void initFragment(){
android.support.v4.app.Fragment fragment;
if(pref.getBoolean(Constants.IS_LOGGED_IN,false)){
fragment = new ProfileFragment();
}else {
fragment = new LoginFragment();
}
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_frame,fragment);
ft.commit();
}

}

最佳答案

不要将 android.support.v4.app.Fragmentandroid.app.Fragment 不匹配,在整个应用中使用它们中的任何一个。

private void initFragment(){
android.support.v4.app.Fragment fragment;
if(pref.getBoolean(Constants.IS_LOGGED_IN,false)){
fragment = new ProfileFragment();
}else {
fragment = new LoginFragment();
}
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_frame,fragment);
ft.commit();
}

private void initFragment(){
android.app.Fragment fragment;
if(pref.getBoolean(Constants.IS_LOGGED_IN,false)){
fragment = new ProfileFragment();
}else {
fragment = new LoginFragment();
}
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_frame,fragment);
ft.commit();
}

因此,如果您正在使用支持库,则使用 getSupportFragmentManager() 并且它支持与支持库相关的其他方法,否则对于 Android 应用程序 fragment 的使用不要使用支持库函数。它会产生“类型不匹配”的问题。这是强烈推荐的。

支持 fragment 交易的库导入:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

用于 fragment 事务的 Android 库导入:

import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;

关于java - 错误:(31, 40)错误: incompatible types: android. support.v4.app.Fragment无法转换为android.app.Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43980530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com