xiaoyan_12 2013-08-26 06:21 采纳率: 25%
浏览 1230

使用datepicker设置日期后为什么隐藏editetext的光标?

在editetext中使用datepicker设置日期后,光标就不显示了。我想实现的是设置完日期,光标就会移动到下一个edittext。
设置日期的代码:

EditText when; static final int DATE_DIALOG_ID = 0;

 private int mYear;
    private int mMonth;
    private int mDay;
//in oncreate
when = (EditText) findViewById(R.id.etDate);
final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);
        when.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                showDialog(DATE_DIALOG_ID);
                return false;
            }
        });
//outside oncreate
@Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
        }
        return null;
    }

    // updates the date in the EditText

    private void updateDisplay() {
        when.setText(new StringBuilder()
        // Month is 0 based so add 1
                .append(mDay).append("-").append(mMonth + 1).append("-").append(mYear));
    }

    // the callback received when the user "sets" the date in the dialog
    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            mYear = year;
            mMonth = monthOfYear;
            mDay = dayOfMonth;
            updateDisplay();
        }
    };
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-01-13 15:33
    关注

    要让光标移动到下一个EditText,您可以在updateDisplay()函数末尾使用requestFocus()方法来请求焦点。例如:

    EditText nextEditText = (EditText) findViewById(R.id.nextEditText);
    nextEditText.requestFocus();
    

    这将请求焦点并将光标移动到下一个EditText。

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试