0

グリッド ビューとベース アダプターがあります。アダプターには常に 12 個の要素がありますが、フォーカスできない要素や非表示の要素が必要になる場合があります。

目に見える要素が 1 つあり、右に押すと、目に見えないアイテムが選択されます。グリッド内のその要素からフォーカスを無効にする必要があります。

使ってみた

 @Override
    public boolean areAllItemsEnabled() {

        Log.d("ARE ALL ITEMS", "ENTERED");
        return false;
    }

    @Override
    public boolean isEnabled(int position) {

        if (position >= numberOFRealElement) {
            Log.d("FAVORITE DISABLED", "ENTERED");
            return false;
        }

        Log.d("FAVORITE ENABLED", "ENTERED");
        return true;
    }

しかし、成功しません。これらのメソッドを呼び出す方法は? それらは自動的に呼び出されないようです。

編集:要素コードを隠す:

        item.setVisibility(View.GONE);
        item.setFocusable(false);
        item.setEnabled(false);
        item.setClickable(false);


        return item;
4

2 に答える 2

0

使ってみてview.setVisibility(View.GONE);

ビューを作成するとsetVisibility(View.INVISIBLE)、その唯一の非表示になりますが、UI の場所は保持されますが、を使用するGONEとビューが非表示になり、UI のスペースも使用されません。

したがって、あなたの場合、 になるとGONE、フォーカスを取得できないか、選択できません。

于 2012-09-25T09:48:56.240 に答える