gpt4 book ai didi

java - 在android中创建类似glide和picasso的类结构

转载 作者:行者123 更新时间:2023-11-30 05:01:50 25 4
gpt4 key购买 nike

我想创建这样的类结构:

Glide.with(context).load("url").into(imageView);

问题:-

public class Slider{

private static Activity context;
private static int Duration = 3000;

public static void setContext(Activity context) {
Slider.context = context;
}

public static void setDuration(Duration duration) {
Slider.Duration = duration;
}
}
// In Activity
Slider.setContext(this);
  • 我将所有方法和必填字段声明为静态的,但它不起作用。

  • 我尝试使用 setter 方法,但它只允许一个 setter。此类不允许我使用第二个 setter。

要求:

Slider.setContext(this).setDuration(3000);

我需要类似 glide 的类和方法结构和 picasso图书馆和一些方法是强制性的。

最佳答案

为此你需要使用 builder 模式

public class Slider
{
private static Activity context;
private static int Duration = 3000;

private Slider(SliderBuilder builder) {
this.context = builder.context;
this.Duration = builder.Duration;
}

//All getter, and NO setter to provde immutability
public String getContext() {
return context;
}
public String getDuration() {
return Duration;
}

public static SliderBuilder with(Activity context){
return new SliderBuilder(context);
}

public static class SliderBuilder
{
private static Activity context;
private static int Duration = 3000;

public SliderBuilder(Activity context) {
this.context = context;
}
public SliderBuilder duration(int Duration) {
this.Duration = Duration;
return this;
}
//Return the finally constructed Slider object
public Slider build() {
Slider slider = new Slider(this);
validateSliderObject(slider);
return slider;
}
private void validateSliderObject(Slider slider) {
//Do some basic validations to check
}
}
}

更好地解释 here

编辑

How to use

Slider.with(this).duration(3000).build();

关于java - 在android中创建类似glide和picasso的类结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58110143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com