android ViewFlipper管理的子页面中Button设置setEnabled(false)后执行无效,在线急等

android FrameLayout布局中ViewFlipper管理的子页面中添加添加控件Button、SeekBar等控件,代码动态设置这些控件为不可用setEnabled(false) 代码执行后无效,控件还是可以继续使用,求高手解答。。。在线等。。

如果对activity中的控件 该控件未在ViewFlipper管理的子页面中,如对Button设置 setEnabled(false)后 该代码执行后控件被禁用。

代码如下

public void onLock(View v){
        if (v.getId() == R.id.BntLock){
            bIsLocked = !bIsLocked;
        }

        View view = LayoutInflater.from(this).inflate(R.layout.tab3, null);
        if (bIsLocked){
            ((ImageView)findViewById(R.id.lock)).setImageDrawable(getResources().getDrawable(R.drawable.icon_lock_small));//这个是Activity上的ImageView  对这个控件进行设置后,直接结果OK
            ((Button)findViewById(R.id.BntLock)).setBackground(getResources().getDrawable(R.drawable.icon_lock_big));//这个是Activity上的Button  对这个控件进行设置后,直接结果OK


            //以下5个Button是在子页面上的控件,设置后代码执行后  Button还是继续能用
            ((Button)view.findViewById(R.id.BntTab3Fun01)).setEnabled(false);
            ((Button)view.findViewById(R.id.BntTab3Fun01)).setEnabled(false);
            ((Button)view.findViewById(R.id.BntTab3Fun02)).setEnabled(false);
            ((Button)view.findViewById(R.id.BntTab3Fun03)).setEnabled(false);
            ((Button)view.findViewById(R.id.BntTab3Fun04)).setEnabled(false);
            ((Button)view.findViewById(R.id.BntTab3Fun05)).setEnabled(false);

        }else {

((ImageView)findViewById(R.id.lock)).setImageDrawable(getResources().getDrawable(R.drawable.icon_unlock_small));//同上
            ((Button)findViewById(R.id.BntLock)).setBackground(getResources().getDrawable(R.drawable.icon_unlock_big));//同上

            ((Button)view.findViewById(R.id.BntTab3Fun01)).setEnabled(true);
            ((Button)view.findViewById(R.id.BntTab3Fun02)).setEnabled(true);
            ((Button)view.findViewById(R.id.BntTab3Fun03)).setEnabled(true);
            ((Button)view.findViewById(R.id.BntTab3Fun04)).setEnabled(true);
            ((Button)view.findViewById(R.id.BntTab3Fun05)).setEnabled(true);
        }
    }

大概试了一下,有效,也使用的FrameLayout,我看你这个lock方法,view是重新inflate的,如果是你已经添加过,这个方法中的View没有重新添加,自然没有效果,不知道这个方法调用的场景是如何的,再仔细看看。不知道能不能帮上你的忙,你比较一下有什么不一样的吧

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mActivity = this;
    viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper);
    gestureDetector = new GestureDetector(this);

    for (int i = 0; i < 10; i++) {
        View view = LayoutInflater.from(this).inflate(R.layout.item, null);
        Button btnButton = (Button) view.findViewById(R.id.btn);
        btnButton.setText("第" + i + "个");
        btnButton.setEnabled(false);
        btnButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ViewFlipperActivity.this, "Enable=true",
                        Toast.LENGTH_SHORT).show();
            }
        });
        viewFlipper.addView(view, new LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    }
}