установить OnClickListener в конкретный элемент (отдельно для всех элементов)? - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу добавить clickListener ко всем конкретным item item1, item2, item3, и я хочу установить отдельный фрагмент для этого. Может кто-нибудь, пожалуйста, помогите мне установить onClickListener в каждом пункте.

Это мой код:

public class BottomNavigation extends AppCompatActivity {

    private FrameLayout frameLayout;
    private AHBottomNavigation bottomNavigation;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bottom_navigation);

        frameLayout = (FrameLayout) findViewById(R.id.main_frame);

        final AHBottomNavigation bottomNavigation=(AHBottomNavigation) findViewById(R.id.bottom_navigation);
        final AHBottomNavigationItem item1 =
                new AHBottomNavigationItem("Home",
                        R.drawable.ic_home_black_24dp);
        AHBottomNavigationItem item2 =
                new AHBottomNavigationItem("Home",
                        R.drawable.ic_home_black_24dp);
        final AHBottomNavigationItem item3 =
                new AHBottomNavigationItem("Home",
                        R.drawable.ic_home_black_24dp);
        AHBottomNavigationItem item4 =
                new AHBottomNavigationItem("Home",
                        R.drawable.ic_home_black_24dp);
        AHBottomNavigationItem item5 =
                new AHBottomNavigationItem("Home",
                        R.drawable.ic_home_black_24dp);
        bottomNavigation.addItem(item1); //specific listener for all these items
        bottomNavigation.addItem(item5);
        bottomNavigation.addItem(item4);
        bottomNavigation.addItem(item3);
        bottomNavigation.addItem(item2);
        bottomNavigation.setTitleState(AHBottomNavigation.TitleState.ALWAYS_SHOW);

        bottomNavigation.setOnTabSelectedListener(new AHBottomNavigation.OnTabSelectedListener() {
            @Override
            public void onTabSelected(int position, boolean wasSelected) {
               // fragment.updateColor(Color.parseColor(colors[position]));

            }
        });


    }
}

1 Ответ

0 голосов
/ 06 сентября 2018

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

Код:

 bottomNavigation.setOnTabSelectedListener((position, wasSelected) -> {
            switch (position){
                case 0: /*Do whatever you want here*/ return true; //1 tab
                case 1: /*Do whatever you want here*/ return true; //2 tab
                case 2: /*Do whatever you want here*/ return true; //3 tab
                case 3: /*Do whatever you want here*/ return true; //4 tab
                case 4: /*Do whatever you want here*/ return true; //4 tab

                default: return false;
            }
        });
...