点击RelativeLayout不要在android中打开DatePicker DialogBox?

时间:2014-12-12 07:58:04

标签: android datepicker

我想在点击RelativeLayout(DateLayout)时打开DatePicker对话框。因为我做到了每次单击EditText和ImageView然后还打开DatePicker对话框因为EditText和ImageView都包含在RelativeLayout中但是单击EditText和ImageView然后不打开Dialogbox。请指导我。我的代码中有什么错误?

提前致谢。

我的代码是,

DateLayout= (RelativeLayout)findViewById(R.id.DateLayout);    
DateLayout.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                datePickerDialog(); 
            }
        });

 xml file,
 <RelativeLayout
                android:id="@+id/DateLayout"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:clickable="true"
                android:focusable="true" >

                <EditText
                    android:id="@+id/edtStartDate"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:clickable="false"
                    android:ems="10"
                    android:enabled="false"
                    android:focusable="false"
                    android:hint="strat date"
                    android:inputType="date"
                    android:textColor="@color/black" >
                </EditText>

                <ImageView
                    android:id="@+id/imgStartDate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignRight="@+id/edtStartDate"
                    android:layout_centerVertical="true"
                    android:clickable="false"
                    android:layout_marginRight="10dp"
                    android:contentDescription="@string/content_description"
                    android:focusable="false"
                    android:src="@drawable/date" />

            </RelativeLayout>

2 个答案:

答案 0 :(得分:1)

clickableenabled的{​​p> EditTextImageView应该是真的。

答案 1 :(得分:0)

我认为EditText正在消耗触觉。您可以通过创建覆盖RelativeLayout的自定义onInterceptTouch来解决此问题,并提供一些逻辑,以便何时将触摸事件传递给EditText而不是RelativeLayout。但是,最终用户可能更简单,只需在布局中包含一个按钮即可触发DatePicker