สวัสดี ฉันเป็นมือใหม่สำหรับ RxJava และกำลังเรียนรู้สิ่งที่ฉันทำในตัวอย่างด้านล่างนี้
ArrayListObserver.java
import rx.functions.Action1;
public class ArrayListObserver implements Action1<Object>{
public void call(Object element) {
System.out.println(element);
}
}
ArrayListWithObservableDemo.java
import java.util.Arrays;
import java.util.List;
import rx.Observable;
import rx.functions.Action1;
public class ArrayListWithObservableDemo {
List<String> list;
Observable<String> observableList;
public void createList(){
list = Arrays.asList("One", "Two", "Three", "Four", "Five");
}
public void createObservableList(){
observableList = Observable.from(list);
}
public void addObserver(Action1<Object> action1){
observableList.subscribe(action1);
}
public void addtoList(String string){
list.add(string);
}
}
TestApp.java
public class TestApp {
public static void main(String[] args) throws InterruptedException {
ArrayListWithObservableDemo demo = new ArrayListWithObservableDemo();
demo.createList();
demo.createObservableList();
demo.addObserver(new ArrayListObserver());
Thread.sleep(5000);
demo.addtoList("Six");
Thread.sleep(3000);
}
}
ขณะใช้งาน main ฉันได้รับข้อผิดพลาดด้านล่างที่: list.add(string);
java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at org.demo.app.ArrayListWithObservableDemo.addtoList(ArrayListWithObservableDemo.java:27)
at org.demo.app.TestApp.main(TestApp.java:11)
ไม่สามารถเพิ่มรายการที่สังเกตได้ด้วยองค์ประกอบใหม่ หรือฉันขาดแนวคิดพื้นฐานของการเขียนโปรแกรมเชิงโต้ตอบ ในกรณีนี้ โปรดแนะนำลิงก์/ตัวอย่างที่ดีให้ฉันเพื่อทำความเข้าใจแนวคิดของการคิดเชิงโต้ตอบใน java
ขอบคุณ
remove
(ไม่ใช่add
) แต่คำตอบก็ยังเหมือนเดิม:Arrays.asList
ส่งคืนรายการที่มีขนาดคงที่ ดังนั้นคุณต้องล้อมไว้ในรายการใหม่หากคุณต้องการเพิ่มองค์ประกอบ - person Tunaki   schedule 31.01.2016