• GetAdapterPosition возвращает NO_POSITION (-1) в ViewHolder, что делать?

    Olaf-06
    @Olaf-06 Автор вопроса
    Студент
    убрал getAdapterPosition из ViewHolder и немного перестроил код, заработало.
    Ответ написан
    Комментировать
  • Использую okHttp, в Callback вызывается метод onFailure. Как исправить?

    Olaf-06
    @Olaf-06 Автор вопроса
    Студент
    Очень странно, что после часа (иногда часов) поиска решения проблемы, после чего я задаю вопрос на хабре, ответ находится сам собой и очень быстро и так не впервой. Я решил свою проблему, но частично, сами узнаете почему позже. Оставляю ответ для будущих поколений. Он работает, если onFailure выдаёт сообщение подобное моему: "CLEARTEXT communication to dev-tasks.alef.im not permitted by network security policy

    Информацию брал отсюда: https://coderoad.ru/59856341/OkHttp-HTTP-FAILED-ja...

    В src/main/res/xml(папочку создадите)/ нужно создать файл network_security_config.xml

    В самом файле напишите это:
    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <!--Set application-wide security config using base-config tag.-->
        <base-config cleartextTrafficPermitted="true"/>
    </network-security-config>


    И добавляете в манифест строчку:
    <application
         ---
            android:networkSecurityConfig="@xml/network_security_config">


    В этой строчке загвоздка, ибо мне нужно, чтоб моё "приложение" работало с android 5, но сама эта строчка поддерживается только с API level 24. Скорее всего буду искать иное решение.
    Ответ написан
  • Не отображаются ивенты на MaterialCalendarView от applandeo, как исправить?

    Olaf-06
    @Olaf-06 Автор вопроса
    Студент
    Разобрался, нужно после метода set ещё setDate вызвать для самого CalendarView и поместить в качестве параметра объект Calendar, в котором мы установили значение даты
    Ответ написан
    Комментировать
  • Реализовал RecyclerView, но дела до метода onCreateViewHolder даже не доходит! Какая может быть причина этому?

    Olaf-06
    @Olaf-06 Автор вопроса
    Студент
    FragmentSimulators.java
    public class FragmentSimulators extends Fragment implements View.OnClickListener {
    
        RecyclerView RVSimulators;
        ArrayList<Simulators> simulators = new ArrayList<>();
        FirebaseFirestore db = FirebaseFirestore.getInstance();
        FloatingActionButton floatingActionButton;
    
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater,
                                 @Nullable ViewGroup container,
                                 @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_simulators, container, false);
            RVSimulators = (RecyclerView) view.findViewById(R.id.simulators_recycler);
            floatingActionButton = (FloatingActionButton) view.findViewById(R.id.fab);
            floatingActionButton.setOnClickListener(this);
    
            RVSimulators.setLayoutManager(new LinearLayoutManager(this.getActivity()));
            final DataAdapterSimulators adapter = new DataAdapterSimulators(this.getActivity(), simulators);
            RVSimulators.setAdapter(adapter);
    
            db.collection("simulators")
                    .get()
                    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                        @Override
                        public void onComplete(@NonNull Task<QuerySnapshot> task) {
                            if (task.isSuccessful()) {
                                for (QueryDocumentSnapshot document : task.getResult()) {
                                    Simulators simulatorsClass = document.toObject(Simulators.class);
                                    simulators.add(new Simulators(simulatorsClass.name, simulatorsClass.description, simulatorsClass.photoID));
                                }
                           
                                Log.d("logmy", "прогрузились документы");
                            } else {
                                Log.w("logmy", "Error getting documents.", task.getException());
                            }
                        }
                    });
            return view;
        }
    
        @Override
        public void onClick(View view) {
            switch (view.getId()){
                case R.id.fab:
                    Intent intent = new Intent(FragmentSimulators.this.getContext(), AddSimulator.class);
                    startActivity(intent);
                    break;
            }
        }
    }
    Ответ написан
    Комментировать