我可以在一个以上的地方使用同一片段吗?

时间:2019-10-25 12:51:08

标签: java android

我创建了很多相同的片段。它们具有相同的形状。如果我依靠这样的位置,是否可以删除所有这些文件并仅在一个地方使用多个?

 ViewPager pager = getView().findViewById( R.id.pager_saraya );

        for(int i=0 ; i<data.size() ; i++)
        {
            if(data.get( i ).getImage() == R.drawable.food_1)
            {
                ArrayList<Integer> det=new ArrayList<>(  );

                for( int j=1 ;j<=7;j++)
                {

                    int photoId= getResources().getIdentifier( "makdoos_"+i,"drawable" ,getContext().getPackageName() );

                    det.add(photoId);
                }

                det.add( R.drawable.seha );
                ImageAdapter_details adapter_makdoos = new ImageAdapter_details( getContext(), det );
                pager.setAdapter( adapter_makdoos );
            }

            else if(data.get( i ).getImage() == R.drawable.food_2)
            {

                ArrayList<Integer> det=new ArrayList<>(  );

                for( int j=1 ;j<=10;j++)
                {

                    int photoId= getResources().getIdentifier( "fish"+i,"drawable" ,getContext().getPackageName() );

                    det.add(photoId);
                }

                det.add( R.drawable.seha );
                ImageAdapter_details adapter_makdoos = new ImageAdapter_details( getContext(), det );
                pager.setAdapter( adapter_makdoos );
            }
        }

1 个答案:

答案 0 :(得分:1)

回答您的问题是否可以将通用代码移动到一个地方并在需要的地方使用它?是的,您可以做到,这是一个好主意。 遵循DRY原理

  • D不要
  • R重复
  • 你自己

您可以将通用代码移动到符合您标准的帮助程序或实用程序类名称。将其设置为静态或非静态,即可使用。