【问题标题】:android: error with time picker listener in dynamic edit textandroid:动态编辑文本中的时间选择器侦听器出错
【发布时间】:2014-11-04 21:13:12
【问题描述】:

错误信息:

有两个问题,其中一个是导致时间选择器无法运行,并且当我单击编辑文本的字段时应用程序崩溃,该字段在单击时运行时间选择器。

  1. v.setText... 中的“v”出现错误:“未为 View 类型定义方法 setText(String)”。我添加了一个这样的演员:'((EditText)v).setText ...'并且它不再有错误但它仍然无法正常工作

  2. 当我将“this”放入时间选择器对话框侦听器时收到的错误消息是:构造函数 TimePickerDialog(new View.OnClickListener(){}, new TimePickerDialog.OnTimeSetListener(){}, int, int, boolean)未定义

    editTextTime.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(final View v) {
    
    
            final Calendar c = Calendar.getInstance();
            mHour = c.get(Calendar.HOUR_OF_DAY);
            mMinute = c.get(Calendar.MINUTE);
    
    
            TimePickerDialog tpd = new TimePickerDialog(**this**,//same Activity Context like before
                    new TimePickerDialog.OnTimeSetListener() {
    
                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                int minute) {
    
    
                            ((EditText) v).setText(hourOfDay + ":" + minute); //You set the time for the EditText created
                        }
    
    
    
                    }, mHour, mMinute, true);
            tpd.show();
    
    
    
        }
    });
    

【问题讨论】:

    标签: java android android-edittext timepicker


    【解决方案1】:

    this 是指实现 OnClickListener 的匿名类。要获得对上下文(活动)的引用,您需要提供

    Activity.this
    

    【讨论】:

    • 谢谢,在看到您的评论之前就想通了。现在可以了。
    猜你喜欢
    • 2012-06-11
    • 2019-04-18
    • 2014-12-31
    • 2012-03-04
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多