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

我有一个简单的函数调用:


 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;

        }


阿波罗的战车
浏览 117回答 3
3回答

动漫人物

您可以将函数定义如下:public void RemoveSpecific(String sheetType, SparseArray<?> sparseArray){&nbsp; &nbsp; //your code}您甚至可以删除String sheetType并检查sparseArray函数内的类型,如下所示:public void RemoveSpecific(SparseArray<?> sparseArray){&nbsp; &nbsp; if(sparseArray.size() > 0)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; switch(sparseArray.get(0).getClass().getName())&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case "FirstSectionFragment":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case "SecondSectionFragment":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}

慕勒3428872

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

HUH函数

从表面上看:public&nbsp;void&nbsp;RemoveSpecific(String&nbsp;sheetType,&nbsp;SparseArray<?&nbsp;extends&nbsp;Fragment>&nbsp;array);但是,为了获得更详细的答案,我需要查看您的实现RemoveSpecific
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java