0

我不知道如何在使用 Java 时分配 onGifSelected。https://developers.giphy.com/docs/sdk#android 我创建了一个正确显示 Giphy 对话框的按钮,但是当我选择 gif 时没有任何反应(我必须实现该功能)。

gifBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            GiphyDialogFragment.Companion.newInstance(gphSettings).show(getSupportFragmentManager(), "this");

                gifSelectionListener.onGifSelected(media);
                gifSelectionListener.onDismissed();

        }
    });

即使我在课程开始时声明了“媒体”,我也会收到以下错误。

java.lang.NullPointerException: Attempt to invoke interface method 'void com.giphy.sdk.ui.views.GiphyDialogFragment$GifSelectionListener.onGifSelected(com.giphy.sdk.core.models.Media)' on a null object reference
    at com.example.alexevangelou.bumpr.MessageActivity$5.onClick(MessageActivity.java:196)
4

1 回答 1

2

在显示对话框片段之前初始化 api 键:

    Giphy.INSTANCE.configure(getActivity(), your_key, false);       
    GPHSettings gphSettings = new GPHSettings();

        GiphyDialogFragment gdl = GiphyDialogFragment.Companion.newInstance(gphSettings);

        gdl.setGifSelectionListener(new GiphyDialogFragment.GifSelectionListener() {
            @Override
            public void onGifSelected(@NotNull Media media) {

                Image image = media.getImages().getFixedWidth();
                String gif_url = image.getGifUrl();
            }

            @Override
            public void onDismissed() {
            }
        });

        gdl.show(getActivity().getSupportFragmentManager(), "this");

也适用于片段上下文。

于 2019-10-21T11:37:36.140 回答