Задать вопрос
@mrallcash

Почему Не подходит метод FragmentManager?

Здравствуйте, друзья. Изучаю разработку приложений под Android, приступил к изучению фрагментов.
Импортирую библиотеки:
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.RequiresApi;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import quize.vkr.shaginyan.R;
import quize.vkr.shaginyan.adapters.QuizAdapter;
import quize.vkr.shaginyan.constants.AppConstants;
import quize.vkr.shaginyan.data.preference.AppPreference;
import quize.vkr.shaginyan.listeners.ListItemClickListener;
import quize.vkr.shaginyan.models.quiz.QuizModel;
import quize.vkr.shaginyan.utilities.ActivityUtilities;
import quize.vkr.shaginyan.utilities.BeatBox;
import quize.vkr.shaginyan.utilities.DialogUtilities;
import quize.vkr.shaginyan.utilities.SoundUtilities;

Кусок на который жалуется:
btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (!mUserHasPressed) {
                    FragmentManager manager = getSupportFragmentManager();
                    DialogUtilities dialog = DialogUtilities.newInstance(getString(R.string.skip_text), getString(R.string.skip_prompt), getString(R.string.yes), getString(R.string.no), AppConstants.BUNDLE_KEY_SKIP_OPTION);
                    dialog.show(manager, AppConstants.BUNDLE_KEY_DIALOG_FRAGMENT);
                } else {
                    //TODO: updateResultSet();
                    setNextQuestion();
                }
            }
        });

Выдает такую ошибку:
E:\AndroidStudioProjects\Quize\app\src\main\java\quize\vkr\shaginyan\activity\QuizActivity.java:171: error: no suitable method found for show(androidx.fragment.app.FragmentManager,String)
dialog.show(manager, AppConstants.BUNDLE_KEY_DIALOG_FRAGMENT);
^
method DialogFragment.show(android.app.FragmentManager,String) is not applicable
(argument mismatch; androidx.fragment.app.FragmentManager cannot be converted to android.app.FragmentManager)
method DialogFragment.show(FragmentTransaction,String) is not applicable
(argument mismatch; androidx.fragment.app.FragmentManager cannot be converted to FragmentTransaction)

То что в константе:
public static final String BUNDLE_KEY_DIALOG_FRAGMENT = "dialog_fragment";


Как можно пофиксить?
  • Вопрос задан
  • 134 просмотра
Подписаться 3 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@LukyanovPA
Android Developer
dialog.show(
manager.beginTransaction().addToBackStack(AppConstants.BUNDLE_KEY_DIALOG_FRAGMENT),
AppConstants.BUNDLE_KEY_DIALOG_FRAGMENT
);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы