Как изменить массив RecyclerView в зависимости от того, какой фрагмент открыт - PullRequest
0 голосов
/ 25 января 2020

Я хочу использовать несколько фрагментов, которые заполнены разными карточками в зависимости от того, какой фрагмент открыл пользователь. Я использую ArrayList и переработчик, чтобы сделать это сейчас. Я работал без 'if операторов', но он заполняет все фрагменты одной и той же информацией массива. Мне трудно понять, как изменить массив в зависимости от того, какой фрагмент открыт.

Fragment fragAll = getSupportFragmentManager (). FindFragmentByTag ("menu_all"); FragmentgmentConversions = getSupportFragmentManager (). FindFragmentByTag ("menu_conversions");

    //All fragment
    ArrayList<ExampleItem> exampleList = new ArrayList<>();
    exampleList.add(new ExampleItem(R.drawable.ic_android, "Line 1", "Line 2"));
    exampleList.add(new ExampleItem(R.drawable.ic_audio, "Line 3", "Line 4"));
    exampleList.add(new ExampleItem(R.drawable.ic_sun, "Line 5", "Line 6"));
    exampleList.add(new ExampleItem(R.drawable.ic_android, "Line 7", "Line 8"));
    exampleList.add(new ExampleItem(R.drawable.ic_audio, "Line 9", "Line 10"));
    exampleList.add(new ExampleItem(R.drawable.ic_sun, "Line 11", "Line 12"));
    exampleList.add(new ExampleItem(R.drawable.ic_android, "Line 13", "Line 14"));

    //Conversions fragment
    ArrayList<ExampleItem> exampleList_1 = new ArrayList<>();
    exampleList_1.add(new ExampleItem(R.drawable.ic_audio, "Line 15", "Line 16"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_sun, "Line 17", "Line 18"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_android, "Line 19", "Line 20"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_audio, "Line 21", "Line 22"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_sun, "Line 23", "Line 24"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_android, "Line 25", "Line 26"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_audio, "Line 27", "Line 28"));
    exampleList_1.add(new ExampleItem(R.drawable.ic_sun, "Line 29", "Line 30"));

    mRecyclerView = findViewById(R.id.recyclerView);
    mRecyclerView.setHasFixedSize(true);
    mLayoutManager = new LinearLayoutManager(this);

    if (fragmentAll != true){
        mAdapter = new ExampleAdapter(exampleList);
    }
    else if (fragmentConversions !=null){
        mAdapter = new ExampleAdapter(exampleList_1);
    }

    mRecyclerView.setLayoutManager(mLayoutManager);
    mRecyclerView.setAdapter(mAdapter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...