Невозможно нажать кнопку во фрагменте в студии android. как решить? - PullRequest
0 голосов
/ 19 января 2020

Я просто создаю фрагмент, который называется инструментальным фрагментом. В этом фрагменте xml я просто добавляю кнопку для перехода от одного фрагмента к другому. xml код:

<com.rey.material.widget.Button
        android:id="@+id/btns"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@color/gradiant_start_color"
        android:text="OK"
        android:textColor="@android:color/white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
</com.rey.material.widget.Button>

Фрагмент инструмента. java :( 1)

@Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.tool_fragment, container, false);

        return v;
    }


    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        com.rey.material.widget.Button btn = (com.rey.material.widget.Button) view.findViewById(R.id.btns);
        btn.setOnClickListener(this);
    }
@Override
    public void onClick(View v) {
        switch(v.getId()) {
            case R.id.btns:
                Toast.makeText(getContext(), "okk", Toast.LENGTH_SHORT).show();
                startActivity(new Intent(getActivity().getApplicationContext(), SettingsActivity.class));
                break;
        }

    }

Фрагмент инструмента. java :( 2)

    @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                                 @Nullable Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.tool_fragment, container, false);

            final com.rey.material.widget.Button btn = v.findViewById(R.id.btns);

            btn.setOnClickListener(this);

            return v;
        }
    @Override
        public void onClick(View v) {
            switch(v.getId()) {
                case R.id.btns:
                    Toast.makeText(getContext(), "okk", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(getActivity().getApplicationContext(), SettingsActivity.class));
                    break;
            }

        }

Я пробую как инструментальный фрагмент. java :( 1), так и инструментальный фрагмент. java :( 2)

Проблема заключается в том, что инструментальный фрагмент показывает кнопку. Но я не могу щелкнуть мышью. Только я могу получить доступ к кнопке, нажав клавишу TAB на клавиатуре при запуске эмулятора.

...