0

我对开发 Android 应用程序非常陌生。我有一个奇怪的问题如下,请等待您的帮助。

我的应用程序有一个带有 recyclerview 的活动。这意味着我有另一个用于卡片视图设计和适配器类的活动。在这个适配器中有一个弹出菜单。

当用户单击一个弹出菜单项时,一个 startactivity 会相应地启动。

我有 3 部不同安卓版本和 API 级别的手机。其中 2 个与我的应用程序完美配合,但第三个不能。当我使用 problamatic 手机调试应用程序时,我发现它在 startactivity 行处理时崩溃了。problamatic 手机比其他两款手机更新(更高的 Android 版本和 API 级别)。所以,我认为这不是版本问题。

这是我在 popupMenu.setOnMenuItemClickListener 中的代码。

Intent elgosterme_gecis =new Intent (mContext, showall.class);
                            elgosterme_gecis.putExtra("No",position+1);
                            elgosterme_gecis.putExtra("number",oyuncuSayisi);
                            mContext.startActivity(elgosterme_gecis);

为什么,旧手机可以完美运行此代码,而新手机则不能?问题手机有android 9。其他运行良好的手机有较低版本的Android。

我需要你的经验......

请注意:显然,我的应用程序中还有许多其他 startactivity 过程,它们都适用于所有手机。唯一的问题是 popupMenu.setOnMenuItemClickListener 中适配器中的 startactivty 仅适用于一部手机...

这是我在上下文适配器中的构造器

public TabelaAdapterClass_rv1adim4(Context mContext, List<TabeladbModellemeClass_rv1adim3> satirlarListesi) {
    this.mContext = mContext;
    this.satirlarListesi = satirlarListesi;
}

提前致谢。

4

1 回答 1

0

我在开始活动之前添加了以下行并且问题解决了

elgosterge_gecis.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

我已经查看了开发者网站上的文档,但需要有人向我解释这到底是做什么的,为什么有些手机不需要它而其他手机需要它?

于 2021-02-22T20:07:08.730 回答