FrameLayout点击事件不会触发

我已经使用了Framelayour的点击事件和2天前工作正常,但不知道笏发生现在它不工作。
请有人帮助我。
我的代码如下: devise:

<FrameLayout android:id="@+id/flWebpre" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" > <WebView android:id="@+id/wvWebsite" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ProgressBar android:id="@+id/pbWebsite" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/white" android:layout_gravity="center_horizontal" /> </FrameLayout> 

代码:

 FrameLayout flWebPre = (FrameLayout) findViewById(R.id.flWebpre); flWebPre.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (isExpanded) { isExpanded = false; new CollapseAnimation(slidingPanel, panelWidth, TranslateAnimation.RELATIVE_TO_SELF, 0.70f, TranslateAnimation.RELATIVE_TO_SELF, 0.0f, 0, 0.0f, 0, 0.0f); } } }); 

Solutions Collecting From Web of "FrameLayout点击事件不会触发"

一个简单的方法是拦截所有触摸事件。 默认情况下, ViewGroup#onInterceptTouchEvent返回false

您可以创build一个自定义布局:

 public class ClickableFrameLayout extends FrameLayout { private OnClickListener mOnClickListener; @Override public void setOnClickListener(OnClickListener l) { super.setOnClickListener(l); mOnClickListener = l; } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return mOnClickListener != null; } // Standard constructors — just pass everything public ClickableFrameLayout(final Context context) { super(context); } public ClickableFrameLayout(final Context context, final AttributeSet attrs) { super(context, attrs); } public ClickableFrameLayout(final Context context, final AttributeSet attrs, final int defStyleAttr) { super(context, attrs, defStyleAttr); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public ClickableFrameLayout(final Context context, final AttributeSet attrs, final int defStyleAttr, final int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } }