gpt4 book ai didi

android - 获取基本 Activity Intent 中的当前 Activity

转载 作者:太空狗 更新时间:2023-10-29 16:34:41 27 4
gpt4 key购买 nike

我有一个在其他 Activity 中扩展的 BaseActivity 类。我在底部有一个菜单,其中包含 5 个按钮。目前,只要单击菜单按钮,我就会使用 setOnClickListener,并且我在每个 Activity 中都复制了代码。显然,这不是一个好的做法。如果我必须做任何小的改变,我必须在每一个变得麻烦的 Activity 中进行编辑。所以我试图通过在 BaseActivity 中放置不同的方法并在 xml onClick 中调用该方法来优化它。

下面的代码表明我目前在 MainActivity.this 上,它将打开 FindActivity.class。如果代码在 MainActivity 类中,则以下工作

Public Class MainActivity extends BaseActivity{

Intent intent = new Intent(MainActivity.this, FindActivity.class);
startActivity(intent);
}

但我想要实现的是将上述代码放在 BaseActivity 中,这显然会被 MainActivity 扩展。

Public Class BaseActivity extends ActionBarActivity{

Intent intent = new Intent("This should be MainActivity.class", FindActivity.class);
startActivity(intent);
}

现在的问题是,当我在 MainActivity 上时,我不确定如何在 BaseActivity 的 Intent 参数中获取 MainActivity.this。基本上我不确定如何在那里获取上下文。

任何帮助将不胜感激。

如果以上内容不清楚并需要更多解释,请告诉我。

提前致谢。

最佳答案

每个 ActivityService 都有自己的上下文,因此仅使用 this 关键字就足以让您检索要使用的上下文.

如果您的类扩展任何类型的Activity,只需使用thisYourClassName.this,甚至getContext()getApplicationContext()getBaseContext(),一切都取决于您所在的位置,但在您的情况下,thisYouClass .this 就足够了。

在您的第一个示例中,MainActivity.this 表示一个 Context 对象。参见 this用于讨论什么是 context

关于android - 获取基本 Activity Intent 中的当前 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31631186/

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