我想在点击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>
答案 0 :(得分:1)
clickable
和enabled
的{p> EditText
和ImageView
应该是真的。
答案 1 :(得分:0)
我认为EditText正在消耗触觉。您可以通过创建覆盖RelativeLayout
的自定义onInterceptTouch
来解决此问题,并提供一些逻辑,以便何时将触摸事件传递给EditText而不是RelativeLayout。但是,最终用户可能更简单,只需在布局中包含一个按钮即可触发DatePicker
。