Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中过滤RxJava中的数据_Java_Android_Rx Java2 - Fatal编程技术网

如何在Android中过滤RxJava中的数据

如何在Android中过滤RxJava中的数据,java,android,rx-java2,Java,Android,Rx Java2,这是我需要过滤的Json数据 { "id": 1, "game_name": "Bắn cá 2021", "game_menu": "Lời khuyên", "subtitle": "Sử dụng chiến thuật ria đạn", "description": "Chiến

这是我需要过滤的Json数据

{
    "id": 1,
    "game_name": "Bắn cá 2021",
    "game_menu": "Lời khuyên",
    "subtitle": "Sử dụng chiến thuật ria đạn",
    "description": "Chiến lược này phù hợp cho người mới bắt đầu. Để tiết kiệm đạn và tăng khả năng chiến thắng, bạn nên tiêu diệt cá nhỏ. Đây là một trong những cách chơi nổi tiếng. Nhiều người chơi bỏ qua những con cá nhỏ này và luôn nhìn vào những con cá lớn. Thật là sai lầm! Đối với người mới bắt đầu, đây không phải là một cách hay. Nếu bạn áp dụng lối suy nghĩ giống như những người chơi khác, bạn chắc chắn sẽ mất hết vốn!",
    "image": null
},
{
    "id": 2,
    "game_name": "Bắn cá 2021",
    "game_menu": "Lời khuyên",
    "subtitle": "Bắn cá ngay khi chúng xuất hiện",
    "description": "Khi nó xuất hiện, hãy nhắm ngay lập tức. Bằng cách này, bạn chắc chắn sẽ nhận được nhiều xu thay vì bắn theo được những con cá lớn.",
    "image": null
},{
    "id": 9,
    "game_name": "Săn Cá Mập ",
    "game_menu": "Lời khuyên",
    "subtitle": "Những Điều Cần Lưu Ý Khi Chơi Game Bàn Cá Trực Tuyến",
    "description": "1. Game bắn cá ăn tiền thật trực tuyến dựa trên giao diện đẹp, bắt mắt, nhạc nền sống động, màu sắc tươi sáng và sử dụng đồ họa 3D tinh tế, hình ảnh sắc nét. Người chơi sẽ trở thành một xạ thủ thực hiện chuyến đi săn dưới lòng đại dương sau khi tham gia.",
    "image": null
},
{
    "id": 10,
    "game_name": "Săn Cá Mập ",
    "game_menu": "Lời khuyên",
    "subtitle": "Những Điều Cần Lưu Ý Khi Chơi Game Bàn Cá Trực Tuyến",
    "description": "2 . Vũ khí của bạn là một khẩu súng để giết cá. Sau khi bắn hạ, mỗi con cá khác nhau sẽ cho bạn một số xu nhất định.",
    "image": null
},
{
    "id": 11,
    "game_name": "Săn Cá Mập ",
    "game_menu": "Lời khuyên",
    "subtitle": "Những Điều Cần Lưu Ý Khi Chơi Game Bàn Cá Trực Tuyến",
    "description": "3: Người chơi cần bỏ ra một số tiền để có thể mua đạn để bắn và đổi lại khi bạn có vũ khí trong tay thì việc bắn cá sẽ trở nên đơn giản hơn. Dễ bắn và khả năng kiếm được tiền sẽ cao hơn trông thấy.",
    "image": null
}
这是我的“ViewModel”类


这是我第一次在android中使用rxjava。

您可以使用
doOnNext
方法或
forEach
或:

或者,如果您希望gameName值为空,则可以更改比较:

.filter(result -> "Bắn cá 2021".equals(result.getGameName()))

确保未禁用
result.getGameName()
null@DipaliShah是的,它不是空的。我不知道函数getTips的方式是否正确。有什么方法可以解决这个问题吗?我认为json数据响应不是一个列表?它应该是[{},{}],你能确定它是一个列表吗。
E/TipsViewModel: getTips: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
public void getTips(){
    repository.getTips()
            .flatMap(Observable::fromIterable)
            //check if e.getGameName() is not null
            .doOnNext(e->System.out.println(e.getGameName())) 
            .filter(result -> result.getGameName().equals("Bắn cá 2021"))
            .toList()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(result -> tipsList.setValue(result),
                    error -> Log.e(TAG,"getTips: "+ tipsList.toString()));
}
.filter(result -> "Bắn cá 2021".equals(result.getGameName()))