java - 故事进度条仅向我显示来自 firebase 数据库的数组列表的最后一张图片
问题描述
故事进度类
如何在来自firebase的arraylist中显示我的所有图片,因为它仅在storyprogressbar上显示最后一张图片。Arraylist包含所有图片Url.problem未在storyProgressbar上显示所有图片..请帮我解决问题。
这是我从中获取数据(图片)的firebase树 在此处输入图像描述
DetailStatusActivity
public class DetailStatusActivity extends AppCompatActivity implements StoriesProgressView.StoriesListener {
StoriesProgressView storiesProgressView;
ImageView image;
int counter = 0;
long pressTime = 0L;
long limit = 500L;
public View.OnTouchListener onTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
pressTime = System.currentTimeMillis();
storiesProgressView.pause();
return false;
case MotionEvent.ACTION_UP:
long now = System.currentTimeMillis();
storiesProgressView.resume();
return limit < now - pressTime;
}
return false;
}
};
private String currentUserID;
private DatabaseReference statusRef;
private String visit_id;
private DatabaseReference detailStatusRef;
private ArrayList<String> imagesArray;
private DatabaseReference userRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_detail_status);
image = (ImageView) findViewById(R.id.image);
storiesProgressView = (StoriesProgressView) findViewById(R.id.stories);
visit_id = getIntent().getStringExtra("uid");
Log.d("cominghereId", visit_id);
currentUserID = FirebaseAuth.getInstance().getCurrentUser().getUid();
statusRef = FirebaseDatabase.getInstance().getReference().child("Statuses");
userRef = FirebaseDatabase.getInstance().getReference().child("Users");
detailStatusRef = FirebaseDatabase.getInstance().getReference();
View reverse = findViewById(R.id.reverse);
reverse.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
storiesProgressView.reverse();
}
});
reverse.setOnTouchListener(onTouchListener);
View skip = findViewById(R.id.skip);
skip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
storiesProgressView.skip();
}
});
skip.setOnTouchListener(onTouchListener);
}
@Override
protected void onStart() {
super.onStart();
imagesArray=new ArrayList<>();
detailStatusRef.child("DetailStatusesImages").child(visit_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
imagesArray.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
DetailStatusModel Dupload = snapshot.getValue(DetailStatusModel.class);
imagesArray.add(Dupload.getImage());
}
Log.d("sizee", String.valueOf(imagesArray.size()));
storiesProgressView.setStoriesCount(imagesArray.size());
storiesProgressView.setStoryDuration(3000L);
storiesProgressView.setStoriesListener(DetailStatusActivity.this);
storiesProgressView.startStories(counter);
Glide.with(getApplicationContext()).load(imagesArray.get(counter)).into(image);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onNext() {
Glide.with(getApplicationContext()).load(imagesArray.get(++counter)).into(image);
Log.d("indexx", imagesArray.get(counter));
}
@Override
public void onPrev() {
if ((counter - 1) < 0) return;
Glide.with(getApplicationContext()).load(imagesArray.get(--counter)).into(image);
}
@Override
public void onComplete() {
finish();
}
@Override
protected void onDestroy() {
storiesProgressView.destroy();
super.onDestroy();
}
@Override
protected void onPause() {
storiesProgressView.pause();
super.onPause();
}
@Override
protected void onResume() {
storiesProgressView.resume();
super.onResume();
}
}
解决方案
推荐阅读
- ios - Animation on view appear and disappear
- ios - How to listen opusCodec in AVPlayer?
- python - 如何用所有可能的组合替换字典中列表中的字符串
- c - Visual Studio Code Property Console not allowed error
- html - Shifting from login to register in html login page
- javascript - 在 Vue Scoped scss 上没有显示 Flex 属性,为什么?
- c# - 如何让游戏对象变得粗暴?
- node.js - 通过 openvpn 服务器路由 kubernetes 出去的流量
- java - 如何使用java Selenium在浏览器中关闭“添加...作为默认mailto链接应用程序”弹出窗口?
- c - 使用 strcmp 输出不正确