Измените статус элемента RecycleView

У меня есть вкладки запросов, в которых «ПОЛУЧЕНО» извлекает данные из BD Firebase в RecycleView. Этот запрос сделан пользователем и получен компанией. Теперь как мне сделать следующее:

1 - Представитель компании нажимает на элемент входящего запроса, чтобы отобразить AlertDialog, нужно ли отвечать на запрос.

2 - Если вы ответите, удалите пункт «ПОЛУЧЕНО» и появитесь в «УЧАСТНИКЕ». Если нет, появитесь в «ОЖИДАНИИ».

Если возможно, также оповестите пользователя об этих действиях. Спасибо всем, кто помогает.

Код:

    public class SolicRecebidaFragment extends Fragment {

private RecyclerView recyclerViewListaSolicitacao;
private DatabaseReference refSolicitacao, database ;
private AdapterSolicitacoes adapter;
private ArrayList<DadosSolicitacao> listaSolicitacoes = new ArrayList<>();
private ValueEventListener valueEventoSolicitacao;
private String idUsuario;


public SolicRecebidaFragment() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view =  inflater.inflate(R.layout.fragment_solicitacao_recebida, container, false);

    //Config.Inciais
    recyclerViewListaSolicitacao = view.findViewById(R.id.recyclerView_ListaSolicitacao);

    //Config.Referenciar nó de recuperação dos dados
   // idUsuario = IdUsuarioFirabase.getIdentificadorUsuario();
    database = ConfiguracaoFirebase.getFirebaseDataBase();
    refSolicitacao = database
            .child("solicitacao_coleta");

    //Config.Adapter
    adapter = new AdapterSolicitacoes(listaSolicitacoes, getActivity());

    //Config.RecyclerView
    RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
    recyclerViewListaSolicitacao.setLayoutManager( layoutManager);
    recyclerViewListaSolicitacao.setHasFixedSize(true);
    recyclerViewListaSolicitacao.addItemDecoration( new DividerItemDecoration(getActivity(), LinearLayout.VERTICAL));
    recyclerViewListaSolicitacao.setAdapter( adapter );

    //Evento de click
    recyclerViewListaSolicitacao.addOnItemTouchListener(
            new RecyclerItemClickListener(getActivity(), recyclerViewListaSolicitacao,
                    new RecyclerItemClickListener.OnItemClickListener() {
                        @Override
                        public void onItemClick(View view, int position) {

                            Toast.makeText(getActivity(), "Item clicado",
                                    Toast.LENGTH_SHORT).show();
                        }

                        @Override
                        public void onLongItemClick(View view, int position) {

                            Toast.makeText(getActivity(), "Item pressionado",
                                    Toast.LENGTH_SHORT).show();

                        }

                        @Override
                        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                        }
                    })
    );

return view;
}

@Override //Exibi lista ao carregar o fragment
public void onStart() {
    super.onStart();
    recuperarSolicitacao();
}

@Override // Remove lista ao sair do fragment
public void onStop() {
    super.onStop();
    refSolicitacao.removeEventListener(valueEventoSolicitacao);
}

public void recuperarSolicitacao (){

   valueEventoSolicitacao =  refSolicitacao.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            listaSolicitacoes.clear();

            for ( DataSnapshot dados: dataSnapshot.getChildren() ){

               // Log.i("DADOS COLETA FIREBASE", dataSnapshot.getValue().toString());

                DadosSolicitacao solicitacao = dados.getValue(DadosSolicitacao.class);
                listaSolicitacoes.add( solicitacao );

            }

            adapter.notifyDataSetChanged();

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });


}

    }

да, возможно, использовать настраиваемый прослушиватель щелчков для адаптера. ваш слушатель firebase сработает автоматически при обновлении данных. так что ваш onDataChangeat позвонит. ты можешь справиться там

Rajasekaran M 30.04.2018 18:35

Итак, мне нужно было бы создать слушателя в посетителе фрагмента запроса, чтобы фиксировать изменения щелчка полученного фрагмента запроса?

E FRANÇA 30.04.2018 19:07

да, и ваш слушатель firebase также срабатывает при изменении данных в firebase

Rajasekaran M 02.05.2018 08:21
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
19
0

Другие вопросы по теме