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 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器