【问题标题】:How to assign onGifSelected?如何分配 onGifSelected?
【发布时间】:2019-11-17 10:54:34
【问题描述】:

我不知道如何在使用 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)

【问题讨论】:

    标签: java android api onclicklistener giphy


    【解决方案1】:

    在显示对话框片段之前初始化 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");
    

    也适用于片段上下文。

    【讨论】:

    猜你喜欢
    • 2021-04-02
    • 1970-01-01
    • 2021-04-25
    • 2011-08-31
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多