Android 根据改装响应禁用按钮

Android 根据改装响应禁用按钮,android,button,boolean,retrofit,Android,Button,Boolean,Retrofit,我想检查来自服务器的布尔值。如果布尔值为true,我想禁用按钮单击。否则,可以单击按钮。我使用改进将所有数据从服务器添加到rest @api "bookmarked": true @餐厅对象 private boolean bookmarked; public boolean isBookmarked() { return bookmarked; } public void setBookmarked(boolean bookmarked) {

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

@api

"bookmarked": true
@餐厅对象

private boolean bookmarked;

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


不要根据标志更改单击侦听器;而是调用
setEnabled(布尔值)


我不太理解标记为“@onCreate()”的代码块的结构;您似乎有任何方法之外的代码,而这些方法不会编译。因此,我不能为上述代码行建议一个具体的位置。但是,我想正确的位置应该是
success()
方法。(另外,在假设您有一个有效的
餐厅
对象之前,您可能应该检查响应状态。)

不要根据标志更改单击侦听器;而是调用
setEnabled(布尔值)


我不太理解标记为“@onCreate()”的代码块的结构;您似乎有任何方法之外的代码,而这些方法不会编译。因此,我不能为上述代码行建议一个具体的位置。但是,我想正确的位置应该是
success()
方法。(另外,在假设您有一个有效的
餐厅
对象之前,您可能应该检查响应状态。)

请查看有关响应的信息。您拥有的是三个上下文无关的代码块,请参阅关于。您拥有的是三个上下文外的代码块我使用btn onClick()case R.id.btn:if(!rest.isBookmarked()){postBookmark();//call reformation}else{ll_bookmark.setEnabled(false);}break;怎么了?@Tr.Buu-您应该在检测到新的
餐厅
对象后立即设置按钮的启用状态。处理单击事件时,通常不会更改启用状态。(请注意,如果
ll_bookmark
是id为
R.id.btn
的按钮,则似乎无法重新启用该按钮。)hi how to check isBookmarked()不为空。Restaurant res=新餐厅();如果(res.isBookmarked!=null){…}运算符'=“不能应用于'boolean','null'@Tr.Buu-
res.isBookmarked
是一个
boolean
值。它不能与
null
进行比较。您可以使用
if(res.isBookmarked){…}
if(!res.isBookmarked){…}
(您也可以使用
if(res.isBookmarked==true)我使用btn onClick()case R.id.btn:if(!rest.isBookmarked()){postBookmark();//call reformation}else{ll_bookmark.setEnabled(false)}break;怎么了?@Tr.Buu-您应该在检测到新的
餐厅
对象后立即设置按钮的启用状态。在处理单击事件时,通常不会更改启用状态。(请注意,如果
ll_bookmark
是id为
R.id.btn
的按钮,则似乎无法重新启用该按钮。)您好,如何检查isBookmarked()不为空。Restaurant res=new Restaurant();if(res.isBookmarked!=null){…}运算符!=”不能应用于'boolean','null'@Tr.Buu-
res.isBookmarked
是一个
boolean
值。它不能与
null
进行比较。您可以使用
if(res.isBookmarked){…}
if(!res.isBookmarked){…}
(您也可以使用
if(res.isBookmarked==true)…
但是
==true
部分是完全冗余的,而且作为一种风格,通常被省略。)
Restaurant rest;
Button btn;

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

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