android– 关闭对话框后的EditText光标bug

android– 关闭对话框后的EditText光标bug,第1张

概述我遇到了问题.不知道该怎么称呼它,或者是什么原因引起它我正在学习AndroidSQLite并开始编写一个简单的笔记应用程序.问题是我有一个类别选择的自定义对话框,在打开对话框之前,EditText字段中的一切都很好,但打开后关闭它,文本开始写入,就像创建相同文本的多个图层一样,文本光标

我遇到了问题.不知道该怎么称呼它,或者是什么原因引起它@H_419_1@

我正在学习Android sqlite并开始编写一个简单的笔记应用程序.@H_419_1@

问题是我有一个类别选择的自定义对话框,在打开对话框之前,EditText字段中的一切都很好,但打开后关闭它,文本开始写入,就像创建相同文本的多个图层一样,文本光标离开每个符号后面的一行. (参见“BUG演示”问题的GIF)@H_419_1@

有没有人见过这样的东西?什么可能导致这个,对话?@H_419_1@

编辑:@H_419_1@

因此,这是在单击星形以打开对话框时采取 *** 作的代码@H_419_1@

@H_419_1@

 starred.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {                AlertDialog.Builder builder = new AlertDialog.Builder(CreateNoteActivity.this);                VIEw mVIEw = getLayoutInflater().inflate(R.layout.dialog_category_select, null);                ListVIEw categoryList = mVIEw.findVIEwByID(R.ID.category_List);                button cancelSelect = mVIEw.findVIEwByID(R.ID.cancelSelect);                final categorylistadapter adapter = new categorylistadapter(CreateNoteActivity.this);                categoryList.setAdapter(adapter);                //get the data and append to a List                Cursor data = myDB.getCategorIEs();                while(data.movetoNext()){                    category thisNote = new category(data.getInt(0), data.getString(1), data.getString(2));                    adapter.add(thisNote);                }                categoryList.setonItemClickListener(new AdapterVIEw.OnItemClickListener() {                    @OverrIDe                    public voID onItemClick(AdapterVIEw<?> adapterVIEw, VIEw vIEw, final int i, long l) {                        final category selectedcategory = (category) adapterVIEw.getItemAtposition(i);                        int duration = Toast.LENGTH_SHORT;                        String s = "category celected: "+selectedcategory.getcategoryname();                        Toast toast = Toast.makeText(context, s, duration);                        toast.show();                    }                });                builder.setVIEw(mVIEw);                final AlertDialog selectcategory = builder.create();                selectcategory.getwindow().setBackgroundDrawable(new colorDrawable(getResources().getcolor(androID.R.color.transparent)));                selectcategory.show();                VIEw decorVIEw = getwindow().getDecorVIEw();                decorVIEw.setBackgroundResource(androID.R.color.transparent);                int wIDth = (int)(getResources().getdisplayMetrics().wIDthPixels*0.80);                int height = (int)(getResources().getdisplayMetrics().heightPixels*0.80);                selectcategory.getwindow().setLayout(wIDth, height);                cancelSelect.setonClickListener(new VIEw.OnClickListener() {                    @OverrIDe                    public voID onClick(VIEw v) {                        selectcategory.dismiss();                    }                });        }    });

解决方法:@H_419_1@

这个答案可能对你有帮助@H_419_1@

关闭对话框后写下此内容@H_419_1@

@H_419_1@

ediText = findVIEwByID(R.ID.edit_text);editText.setSelection(editText.getText().length);

基本上使用上面的逻辑,光标不会指向对话框关闭时editText的第一个字符@H_419_1@ 总结

以上是内存溢出为你收集整理的android – 关闭对话框后的EditText光标bug全部内容,希望文章能够帮你解决android – 关闭对话框后的EditText光标bug所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1119636.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存