根据Retrofit响应禁用按钮

时间:2017-06-19 03:32:53

标签: android button boolean retrofit

我想检查来自服务器的布尔值。如果布尔值为true,我想禁用按钮单击。否则,可以单击按钮。我使用Retrofit将所有数据从服务器添加到 rest

@ api

"bookmarked": true

@ Restaurant Object

private boolean bookmarked;

    public boolean isBookmarked() {
        return bookmarked;
    }
    public void setBookmarked(boolean bookmarked) {
        this.bookmarked = bookmarked;
    }

@ onCreate()

Restaurant rest;
Button btn;

    @Override
    public void success(Restaurant restaurant, Response response) {
        rest = restaurant;
    }

    if (rest.isBookmarked()) {
        btn.setOnClickListener(null);
    }

1 个答案:

答案 0 :(得分:3)

不要根据标志更改点击监听器;相反,请致电setEnabled(boolean)

btn.setEnabled(!rest.isBookmarked());

我不太了解标有" @ onCreate()&#34 ;;的代码块的结构。你似乎有任何方法之外的代码,它不会编译。因此,我无法为上述代码行建议一个特定的位置。但是,我的猜测是,正确的地方是success()方法。 (此外,在假设您拥有有效的Restaurant对象之前,您应该检查响应状态。)