当前位置: 首页 > 知识库问答 >
问题:

如何从片段中启动活动?[副本]

佴德曜
2023-03-14

我在FragmentActive中有一组选项卡,每个选项卡都包含自己的片段。当我尝试通过onClickListener从该片段中启动一个新活动并使用开始活动(myIntent)方法时,我的应用程序强制关闭。

在四处寻找了一段时间后,我找到了一个名为startActivityFromFragment的方法的一两个引用,但在搜索了大约一个小时后,我找不到任何关于如何使用它或这是否是我应该使用的方法的解释或示例。

我想我要问的是,从一个活动启动一个新活动和从一个片段启动一个新活动之间是否有任何区别,如果有,我需要实现什么?

共有3个答案

傅博瀚
2023-03-14

从片段开始活动和活动之间的区别在于您如何获取上下文,因为在这两种情况下它都必须是一个活动。

来自活动:上下文是当前活动(this

Intent intent = new Intent(this, NewActivity.class);
startActivity(intent);

从片段中:上下文是父活动(getActivity())。注意,片段本身可以通过startActivity()启动活动,这不需要从活动中完成。

Intent intent = new Intent(getActivity(), NewActivity.class);
startActivity(intent);
常英资
2023-03-14

我做到了,下面的代码为我工作。。。。

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.hello_world, container, false);

        Button newPage = (Button)v.findViewById(R.id.click);
        newPage.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getActivity(), HomeActivity.class);
                startActivity(intent);
            }
        });
        return v;
    }

请确保您的目的地活动应在清单中注册。xml文件,

但在我的情况下,所有选项卡都不显示在Homeactive中,有什么解决方案吗?

仉成益
2023-03-14

您应该使用getActivity()来完成。startActivity(myIntent)

 类似资料:
  • //使用startActivity(intent)也不起作用//无论我做什么,应用程序都会崩溃

  • 问题内容: 从Activity中包含的RecyclerView的适配器中,我试图在按下RecyclerView的元素时启动一个片段,这是我现在的代码: 我测试了它是否启动了我创建的一些“测试活动”,所以我知道除了片段启动之外的所有功能都可以正常工作。 错误在这里: 我正在启动作为活动的Fragment,所以当我运行应用程序时,它崩溃了,并告诉我在清单中将MainFragment声明为活动。 如何从

  • 我已经想从我的Main活动启动我的RecipientFra法规,并从我的Main活动将数据传递到Fra法规。这是我实现的代码。但是碎片没有开始。 我还想知道如何传递intent.set数据,并在碎片中获取数据。目前我有以下代码: 受体片段 主要活动

  • 我在活动C中有四个片段,它们的行为就像标签一样。我必须从一个片段转到一个新的活动X。现在我想回到从活动X到片段的片段。 这是我的主要活动 '公共类MainInterface扩展了ActionBarActivity{ } ' 下面是活动视图中的公共类讨论。onclick侦听器{ ###

  • 我读了DialogFragment,然后把它做成这样的一对一。 在另一个SherlockFragment中,我接下来制作: 但是doPositiveClick()、doNegativeClick()方法希望是静态的,这对我来说不好。

  • 我在做Android项目?我有问题。我如何使用活动功能而不扩展它。因为我现在的java是碎片,所以我必须扩展碎片。请帮忙。我的代码: