gpt4 book ai didi

java - 使用 Firebase 的图像 slider (Daimajia)

转载 作者:行者123 更新时间:2023-12-01 09:04:16 28 4
gpt4 key购买 nike

我尝试将 slider 上的图片和文本从 firebase 加载到 daimajia slider 中,但没有显示任何内容,我使用 FirebaseRecyclerAdapter ,这就是我的做法方法如下:-.

但我已经宣布了

sliderShow = (SliderLayout) findViewById(R.id.slider);

onCreate方法中

 public void GetAdverts()
{


FirebaseRecyclerAdapter<Advert,MainActivity.EventViewHolder> firebaseRecyclerAdapter_ = new FirebaseRecyclerAdapter<Advert, MainActivity.EventViewHolder>(Advert.class,
R.layout.slider_image,
MainActivity.EventViewHolder.class,
mDatabase) {
@Override
protected void populateViewHolder(MainActivity.EventViewHolder viewHolder, final Advert model, final int position) {

try{


HashMap<String,String> url_maps = new HashMap<String, String>();
List<Advert> itemlist = new ArrayList<>();


url_maps.put(model.getTitle(), model.getImageAdvert());


for(String name : url_maps.keySet()){
TextSliderView textSliderView = new TextSliderView(getApplicationContext());
// initialize a SliderLayout
textSliderView
.description(name)
.image(url_maps.get(name));
//add your extra information
textSliderView.bundle(new Bundle());
textSliderView.getBundle()
.putString("extra",name);
textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {

Toast.makeText(getApplicationContext(),
"News Details ",Toast.LENGTH_LONG).show();
}
});

sliderShow.addSlider(textSliderView);
}

// sliderShow.addSlider(textSliderView);
sliderShow.setPresetTransformer(SliderLayout.Transformer.Accordion);
sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
sliderShow.setCustomAnimation(new DescriptionAnimation());
sliderShow.setDuration(10000);


}
catch (Exception e){

e.printStackTrace();
}


}
};


}

请问我哪里错了。

我更新的代码。

 void Slider(){

mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

Map<String, Advert> td = new HashMap<String, Advert>();


HashMap<String,String> url_maps = new HashMap<String, String>();

ArrayList<Advert> values = new ArrayList<>(td.values());

// List<String> keys = new ArrayList<String>(td.keySet());

for (Advert ad: values) {

// Toast.makeText(getApplicationContext(),""+ad.getImageAdvert(),Toast.LENGTH_LONG).show();
url_maps.put(ad.getTitle(),ad.getImageAdvert());


}

for(String name : url_maps.keySet()){
TextSliderView textSliderView = new TextSliderView(getApplicationContext());
// initialize a SliderLayout
textSliderView
.description(name)
.image(url_maps.get(name));
//add your extra information
textSliderView.bundle(new Bundle());
textSliderView.getBundle()
.putString("extra",name);
textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {

Toast.makeText(getApplicationContext(),
"Advertise Here ",Toast.LENGTH_LONG).show();
}
});

sliderShow.addSlider(textSliderView);
}

// sliderShow.addSlider(textSliderView);
sliderShow.setPresetTransformer(SliderLayout.Transformer.Accordion);
sliderShow.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
sliderShow.setCustomAnimation(new DescriptionAnimation());
sliderShow.setDuration(10000);


}



@Override
public void onCancelled(DatabaseError databaseError) {

}
});

sliderShow = (SliderLayout) findViewById(R.id.slider);
}

我的广告类别。

public class Advert {

public String ImageAdvert;
public String Title;


public Advert() {

// left out for firebase ...

}


public String getImageAdvert() {
return ImageAdvert;
}

public void setImageAdvert(String imageAdvert) {
ImageAdvert = imageAdvert;
}

public String getTitle() {
return Title;
}

public void setTitle(String title) {
Title = title;
}
}

最佳答案

FirebaseRecyclerAdapter 用于设置 FirebaseRecycler 内的数据!

如果您只想从 DatabaseReference 获取数据,您应该使用监听器。

FirebaseDatabse - Retrieving Data

To read data at a path and listen for changes, use the addValueEventListener() oraddListenerForSingleValueEvent() method to add a ValueEventListener to a DatabaseReference.

(Child 还有第三个监听器 - ChildEventListener )

关于java - 使用 Firebase 的图像 slider (Daimajia),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41414466/

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