0

ListView( with を使用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存在する場合はすべて有効になります。何が起こっている?

4

1 に答える 1

1

最上位のビュー (おそらく ListView)を返すようです。view.getRootView()これには多くの行が含まれており、すべての行に R.id.line_item という ID があります。したがって、かなりランダムなビューが返される場合があります。を使用してリストアイテムビューを取得してみることができますview.getParent()

于 2011-08-23T01:03:02.183 に答える