Android ViewBinder中的条件操作
我希望禁用我的Android ViewBinder中的条件操作,android,android-viewbinder,Android,Android Viewbinder,我希望禁用我的列表视图(使用SimpleCursorAdapter和ViewBinder)的行项目,但它不起作用: public boolean setViewValue(View view, final Cursor cursor, int columnIndex) { int viewId = view.getId(); switch (viewId) { case R.id.my_view_status_value: int viewV
列表视图
(使用SimpleCursorAdapter
和ViewBinder
)的行项目,但它不起作用:
public boolean setViewValue(View view, final Cursor cursor, int columnIndex) {
int viewId = view.getId();
switch (viewId) {
case R.id.my_view_status_value:
int viewVal = cursor.getInt(columnIndex);
if(viewVal == 0) {
//disable this line item
view.getRootView().findViewById(R.id.line_item).setEnabled(false);
} else {
//enable
view.getRootView().findViewById(R.id.line_item).setEnabled(true);
}
当我删除
else
时,它会随机禁用它们,当如果else
存在时,所有这些都会被启用。发生了什么?看起来,view.getRootView()
返回了最顶层的视图(可能是ListView),其中包含许多行,并且所有行都有id R.id.line\u项。所以它可能会返回非常随机的视图。
您可以尝试使用
view.getParent()
获取列表项视图。您可以将代码发布到创建ViewBinder
的位置吗。