2

私はBaseActivitywhich を拡張Activityし、他のすべてのアクティビティは this を拡張しBaseActivityます。

私がしているのはアプリケーションの状態ですBaseActivity。次のコードを使用して、画面上のすべての項目を無効にしてから再度有効にします。

private void DisableChildClickEvents(ViewGroup viewGroup, boolean enabled) {
    for (int i = 0; i < viewGroup.getChildCount(); i++) {
        View childView = viewGroup.getChildAt(i);
        childView.setClickable(enabled);
        childView.setEnabled(enabled);
        if (childView instanceof ViewGroup) {
            DisableChildClickEvents((ViewGroup)childView, enabled);
        }
    }
}

ListViewこのコードがそれを無効にし、そのアイテムのすべてのクリックを無効にするアクティビティの1つにある問題ですが、それらを再度クリックすることはできません。これListItemは、クリックでき、クリック中に色が変化することを示していますが、無効にした後は実行するはずのアクションに到達できません。

4

1 に答える 1

1

これを試して:

if (childView instanceof ListView) {
               if (enabled == true) {
                   ListView list = (ListView) childView;
                   list.getOnItemClickListener();
               }
于 2013-02-14T08:52:43.897 に答える