为了账号安全,请及时绑定邮箱和手机立即绑定

将不同类型的 SparseArray 传递给函数

将不同类型的 SparseArray 传递给函数

阿波罗的战车 2023-10-12 17:23:03
我有一个简单的函数调用: RemoveSpecific(sheetType); // String sheettype我希望它与 a 一起调用,SparseArray因为我将SparseArray根据 来操作特定的sheetType. 传递这不是问题,但我希望 SparseArray 成为动态类型??(不确定这种事情是否存在)如果我只是将特定的 SparseArray 传递给函数,这将节省我编写多个 if 语句的时间。请明确: RemoveSpecific(sheetType, frgag1); //SparseArray<FirstSectionFragment> RemoveSpecific(sheetType, frgag2); //SparseArray<SecondSectionFragment>函数本身:if (mPageTitles.size() > 2  && sheetType.equals("somthing")) {                    mPageTitles.remove(frgag1.get(frgag1.keyAt(frgag1.size() - 1)).getFragContent());                    frgag1.delete(mInt);                    if (fso != null && fso.getfr1Details() != null)                        fso.getfr1Details().getsubfr1Details().delete(mInt);                mInt--;                fJobDetails.AnotherFunction("somthing");                    dialogRmove.dismiss();            }}获取碎片内容:(called in different fragments)public String getFragContent() {            if (mFragContent == null) {                Bundle args = getArguments();                mFragContent = args.getString("content");            }            return mFragContent;        }
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

您可以将函数定义如下:


public void RemoveSpecific(String sheetType, SparseArray<?> sparseArray)

{

    //your code

}

您甚至可以删除String sheetType并检查sparseArray函数内的类型,如下所示:


public void RemoveSpecific(SparseArray<?> sparseArray)

{

    if(sparseArray.size() > 0)

    {

        switch(sparseArray.get(0).getClass().getName())

        {

            case "FirstSectionFragment":

                break;

            case "SecondSectionFragment":

                break;

        }

    }

}


查看完整回答
反对 回复 2023-10-12
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

public void RemoveSpecific(String sheetType, SparseArray<? extends Fragment> DunnoPossible){}



查看完整回答
反对 回复 2023-10-12
?
HUH函数

TA贡献1836条经验 获得超4个赞

从表面上看:

public void RemoveSpecific(String sheetType, SparseArray<? extends Fragment> array);

但是,为了获得更详细的答案,我需要查看您的实现RemoveSpecific


查看完整回答
反对 回复 2023-10-12
  • 3 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信