Как получить текущий объект карты из SwipeFlingAdapterView flingContainer - PullRequest
0 голосов
/ 25 апреля 2019

Я работаю над приложением с функцией просмотра карты.

Мой вопрос: как я могу получить объект текущей карты из SwipeFlingAdapterView flingContainer?

Я использую lorentzos.swipecards: library.

То, что я пытаюсь сделать, - это когда новая карта находится на виде, я хочу получить объект, как показано ниже.

cards obj = (cards) dataObject;Строка userId = obj.getUserId ();

по умолчанию имеет только public void onRightCardExit (Object dataObject) и левый выход, onScroll, onAdapterAboutToEmpty, OnItemClickListener

Для моей задачи мне нужно получить Objectполучить getUserId ();потому что массив представления карты подключен к базе данных.

По сути, я хочу, чтобы нижеуказанная функция выполнялась, когда на дисплее появляется новая карта.Не при выходе налево, выход вправо или OnItemClickListener.

       // Optionally add an OnItemClickListener

        flingContainer.setOnItemClickListener(new SwipeFlingAdapterView.OnItemClickListener() {
            @Override
            public void onItemClicked(int itemPosition, Object dataObject) {


                cards obj = (cards) dataObject;
                String userId = obj.getUserId();


                DatabaseReference userDb3 = usersDb.child(obj.getUserId());

                userDb3.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        if (dataSnapshot.exists()){
                            if (dataSnapshot.child("email").getValue() != null){
                                useremail = dataSnapshot.child("email").getValue().toString();
                                userName=dataSnapshot.child("name").getValue().toString();
                                userJob = dataSnapshot.child("industry").getValue().toString();

                            }
                        }
                    }
                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });


            }
        });
...