[英]ArrayList stuck on printing one item
我正在制作一個應用程序,它顯示從 Firebase 中提取並存儲在 ArrayList 中的消息。 該應用程序應顯示一條消息十秒鍾,然后滾動消息以顯示下一條消息。 我正在使用 textSwitcher 視圖來顯示消息。 我的問題是應用程序卡在 ArrayList 中的最后一條消息,並且不會從數組的開頭重新啟動。 先感謝您。
這是position的代碼:
public class ViewMessageActivity extends AppCompatActivity {
private TextSwitcher txtSwitcher;
private ImageButton btnNext,btnPrev;
private FirebaseFirestore db = FirebaseFirestore.getInstance();
private CollectionReference notebookRef = db.collection("Messages");
ArrayList<String> ar = new ArrayList<String>();
int count = ar.size();
int position = 0;
TextView hallName;
這是負責此操作的代碼:
if(!ar.isEmpty()) {
txtSwitcher.setText(ar.get(0));
count = ar.size();
btnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
position++;
if (position >= count)
position = 0;
txtSwitcher.setText(ar.get(position));
}
});
btnPrev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtSwitcher.showPrevious();
--position;
if (position < 0)
position = ar.size() - 1;
txtSwitcher.setText(ar.get(position));
}
});
我發現了問題並修復了它。 我沒有更新 ArrayList 中的 position。 菜鳥失誤。
而不是這段代碼:
if(!ar.isEmpty()) {
txtSwitcher.setText(ar.get(0));
count = ar.size();
我把這個:
if(!ar.isEmpty()) {
txtSwitcher.setText(ar.get(position));
position++;
if (position >= count)
position = 0;
count = ar.size();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.