我希望停用ListView
的订单项(使用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
时,它会随机禁用它们,当存在if-else
时,都会启用。发生了什么事?
答案 0 :(得分:1)
似乎view.getRootView()
返回最顶层视图(可能是ListView),其中包含许多行,并且所有行都具有id R.id.line_item。所以它可能会返回相当随机的视图。
您可以尝试使用view.getParent()