Android 根据改装响应禁用按钮
我想检查来自服务器的布尔值。如果布尔值为true,我想禁用按钮单击。否则,可以单击按钮。我使用改进将所有数据从服务器添加到rest @apiAndroid 根据改装响应禁用按钮,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) {
"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());