Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓如何加载图像(Glide)并在有人直接点击按钮时显示_Java_Android_Xml_Android Studio_Android Glide - Fatal编程技术网

Java 安卓如何加载图像(Glide)并在有人直接点击按钮时显示

Java 安卓如何加载图像(Glide)并在有人直接点击按钮时显示,java,android,xml,android-studio,android-glide,Java,Android,Xml,Android Studio,Android Glide,我如何才能使图像下载第一,并把它放在cach和当有人按下按钮,然后图像将直接显示没有延迟 为什么? 现在我每次点击按钮都会有几秒钟的延迟,因为它们是从互联网加载的。这需要时间,这就是为什么我希望首先加载和缓存它们。因此,当有人点击按钮时,它将在一秒钟内直接显示 爪哇: 不要看1000毫秒的延迟,这并不重要,因为我希望每次有人点击按钮时都有1秒的延迟。 我做了延迟,也让它看起来像是正在加载,但这并不好……有时我必须等待5秒钟才能加载图像。 @Override pub

我如何才能使图像下载第一,并把它放在cach和当有人按下按钮,然后图像将直接显示没有延迟

为什么? 现在我每次点击按钮都会有几秒钟的延迟,因为它们是从互联网加载的。这需要时间,这就是为什么我希望首先加载和缓存它们。因此,当有人点击按钮时,它将在一秒钟内直接显示

爪哇:

不要看1000毫秒的延迟,这并不重要,因为我希望每次有人点击按钮时都有1秒的延迟。 我做了延迟,也让它看起来像是正在加载,但这并不好……有时我必须等待5秒钟才能加载图像。

@Override
                public void run() {
                    button.setEnabled(true);
                }
            });
        }
    }, 1000);
    ((Button) v).setText("Random image");
    a = (int) (Math.random() * 4);

    switch (a) {
        case 0:

            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 1:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 2:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 3:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 4:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
    }
 }
}
XML:


您应该使用Glide的回调。
查看此链接了解如何实现它。

因此,如果我实现此功能,图像将在1秒内加载?
@Override
                public void run() {
                    button.setEnabled(true);
                }
            });
        }
    }, 1000);
    ((Button) v).setText("Random image");
    a = (int) (Math.random() * 4);

    switch (a) {
        case 0:

            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 1:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 2:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 3:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
        case 4:
            Glide.with(this).load("imagelink").into(ivImageFromUrl);
            break;
    }
 }
}
 <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:id="@+id/textView2" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Image text"
    android:id="@+id/textView"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="82dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Image"
    android:id="@+id/button"
    android:onClick="buttonOnClick"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="41dp" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/iv_image_from_url"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/textView"
    android:layout_alignEnd="@+id/textView"
    android:layout_marginBottom="106dp"
    android:layout_toRightOf="@+id/textView"
    android:layout_toEndOf="@+id/textView" />

</RelativeLayout>