gpt4 book ai didi

android - AppCompat 和 Fragment 不起作用

转载 作者:IT老高 更新时间:2023-10-28 23:31:55 29 4
gpt4 key购买 nike

02-19 11:49:17.369: E/AndroidRuntime(4209): java.lang.NoClassDefFoundError: com.slidingmenus.fragments.HomeFragment
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.displayCategoryView(MainActivity.java:242)
02-19 11:49:17.369: E/AndroidRuntime(4209): at com.slidingmenus.MainActivity.onCreate(MainActivity.java:121)

尝试了堆栈溢出中建议的每个步骤,但没有帮助。

它在 4.0+ 中没有错误,但在 2.3.x 设备中它在

中给出 java.lang.NoClassDefFoundError
line 242: fragment = new HomeFragment();

我从 fragment 中导入的是:

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

我正在使用:

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).commit();

这是我的主页 fragment :

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class HomeFragment extends Fragment {
public HomeFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.layout_main_fragment,container, false);

return rootView;
}
}

整个上午都在试图解决这个问题。仍然没有运气。非常感谢任何帮助。

谢谢

最佳答案

您应该使用支持库中的 Fragment

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

您还需要使用 getSupportFragmentManager(),并且由于您使用的是 AppCompat,因此您的 Activity 必须扩展 ActionbarActivity

 FragmentManager fragmentManager = getSupportFragmentManager();

更新:

ActionBarActivity 已弃用,使用支持库中的 AppCompatActivity。不要忘记将您的支持存储库更新到最新版本。

关于android - AppCompat 和 Fragment 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21873114/

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