android 的timepicker不能响应键盘输入的原因

在我的工作中,今天做了一个布局发现无法响应这是布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:orientation="vertical" >

    <include layout="@layout/headbar" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:layout_marginTop="10dip"
        android:background="@color/first_use_bg" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dip"
            android:layout_marginRight="15dip"
            android:gravity="center"
            android:orientation="vertical" >

            <TimePicker
                android:id="@+id/timePicker"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/normal_setting_one"
                    style="@style/weekday_textView_normal"
                    android:text="@string/one" />

                <TextView
                    android:id="@+id/normal_setting_two"
                    style="@style/weekday_textView_normal"
                    android:text="@string/two" />

                <TextView
                    android:id="@+id/normal_setting_three"
                    style="@style/weekday_textView_normal"
                    android:text="@string/three" />

                <TextView
                    android:id="@+id/normal_setting_four"
                    style="@style/weekday_textView_normal"
                    android:text="@string/four" />

                <TextView
                    android:id="@+id/normal_setting_five"
                    style="@style/weekday_textView_normal"
                    android:text="@string/five" />

                <TextView
                    android:id="@+id/normal_setting_six"
                    style="@style/weekday_textView_normal"
                    android:text="@string/six" />

                <TextView
                    android:id="@+id/normal_setting_seven"
                    style="@style/weekday_textView_normal"
                    android:text="@string/seven" />
            </LinearLayout>

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_name" />

                <TextView
                    android:id="@+id/name_alarm1"
                    style="@style/setting_textview"
                    android:hint="@string/name" />
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:background="@color/main_attime" />

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_music" />

                <TextView
                    android:id="@+id/choice_music1"
                    style="@style/setting_textview"
                    android:hint="@string/init_music" />
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:background="@color/main_attime" />

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_virbation" />

                <LinearLayout
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center" >

                    <TextView
                        android:id="@+id/setting_alarm_vibrateswitch1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/setting_switch_bg" />
                </LinearLayout>
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:background="@color/main_attime" />

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_voice" />

                <LinearLayout
                    android:layout_width="0dip"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center" >

                    <TextView
                        android:id="@+id/name_alarm_voice1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/setting_switch_bg" />
                </LinearLayout>
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:background="@color/main_attime" />

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_delay" />

                <TextView
                    android:id="@+id/name_alarm_delay1"
                    style="@style/setting_textview"
                    android:hint="@string/init_delaytime" />
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:background="@color/main_attime" />

            <LinearLayout style="@style/setting_lay" >

                <TextView
                    style="@style/setting_textview"
                    android:text="@string/alarm_ringtime" />

                <TextView
                    android:id="@+id/alarm_ringtime1"
                    style="@style/setting_textview"
                    android:hint="@string/init_ringtime" />
            </LinearLayout>

            <View
                style="@style/dviderLine"
                android:layout_marginBottom="10dip"
                android:background="@color/main_attime" />
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dip"
        android:background="@drawable/setting_bottomlay_bg"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/normal_setting_sure"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dip"
            android:layout_marginLeft="20dip"
            android:layout_marginRight="20dip"
            android:layout_marginTop="20dip"
            android:background="@drawable/setting_sure_bottom_bg"
            android:clickable="true"
            android:gravity="center"
            android:minHeight="45dip"
            android:text="@string/sure"
            android:textSize="20sp" />
    </LinearLayout>

</LinearLayout>

这个布局就只有一个timepicker其他全部是在timepicker响应的接口中

timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
setTime2data(hourOfDay, minute);
}
});

setTime2data方法中取得时间,但是发现只有按加减的按钮的才可以监听到,网上百度很久没找到原因,今天发现在timepicker还在拥有焦点的时候是无法回调监听函数的(其实仔细想想也知道用户在不断修改的时候,是不会回调的),于是在键盘输入响应回调函数就让timepicker失去焦点即可。

记下来提醒自己


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值