gpt4 book ai didi

java - fragment 事务无法将我的 fragment 识别为 fragment

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:10 27 4
gpt4 key购买 nike

所以我正在实现一个 FragmentActivity 并尝试添加一个 fragment ,但是我遇到了多个问题。我以前做过这个,实际上我使用的代码与上一个项目(它工作的地方)相同,但由于某种原因它在这里不起作用。这是我的代码:

package silversphere.eyeon;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.widget.LinearLayout;

public class AlarmsActivity extends FragmentActivity {



@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);

LinearLayout layout = new LinearLayout(this);
layout.setId(40000);

FragmentManager man = getFragmentManager();
FragmentTransaction trans = man.beginTransaction();

Alarm_Landing_Page_Fragment frag = new Alarm_Landing_Page_Fragment();

trans.add(40000, frag);

}

}

我在调用 layout.setId() 和 trans.add() 时遇到错误。 layout.setId() 表示“类型 id 的预期资源”,事务表示“无法解析方法添加(int,silversphere.eyeon.alarm_landing_page_fragment)”,这对我来说表明由于某种原因它没有将 Alarm_LandingPage_Fragment 识别为一个 fragment ,但它绝对应该是。这是 Alarm_Landing_Page_Fragment 的声明:

public class Alarm_Landing_Page_Fragment extends Fragment {

如有任何建议,我们将不胜感激!

最佳答案

您将支持库中的 Fragment 相关类与 SDK 附带的类混合在一起。使用 Fragment 时,要么只使用支持库类,要么只使用 SDK 的内置类(我的意思是只使用与 Fragment 相关的类)。

如果您的类 Alarm_Landing_Page_Fragment 从支持库扩展了 Fragment,则更改:

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

// ...

FragmentManager man = getFragmentManager();

到:

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

// ...

FragmentManager man = getSupportFragmentManager();

否则,不要扩展 FragmentActivity 并仅使用 SDK 中的 Fragment 相关类。

编辑:

另请参阅此答案: Error inflating class fragment (As ListFragment)

关于java - fragment 事务无法将我的 fragment 识别为 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25268350/

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