java - 如何分配onGifSelected?

标签 java android api onclicklistener giphy

我无法弄清楚如何在使用 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();

        }
    });

即使我在类(class)开头声明了“media”,我也会收到以下错误。

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)

最佳答案

在显示对话框 fragment 之前初始化 api key :

    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");

也适用于 fragment 上下文。

关于java - 如何分配onGifSelected?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56926209/

相关文章:

java - Mysql异常“超出范围”?

Java递归添加到列表

java - 如何将该项目导入到 Eclipse 中?

api - RequeSTLy chrome 扩展模拟 api 响应 503

android - Skydrive android API - 移动到根文件夹

java - 是否存在可以 "finalize"对象私有(private)状态的 Java 方法?

java - 在 Java Swing 中如何判断两个 JList 中哪个 JList 具有光标焦点?

java - Android 在复选框上振动

android - 向现有用户提供免费的应用内购买

php - Soundcloud API、PHP 和 OAuth