当前位置: 首页 > 知识库问答 >
问题:

如何在每次我在上次添加的编辑文本(Kotlin)中写入内容时添加新的编辑文本

殷轶
2023-03-14

我希望用户可以列出他的爱好。我不知道这张单子有多长。所以我有一个线性布局,里面有一个编辑文本,还有一个按钮,他可以在线性布局中添加一个编辑文本,但我不喜欢用户每次想添加一个霍比时都必须单击按钮,所以我希望当用户在上一个编辑文本中写下一些东西时,添加一个新的编辑文本。我的问题是,我现在不知道如何跟踪编辑文本何时不再为空,要添加另一个编辑文本
要添加编辑文本,我有以下功能

fun addet() {  
        val et_hobby = EditText(this)  
        et_hobby.textSize = 18f  
        et_hobby.hint = "your Hobbie"  
        et_hobby.minEms = 3  
        linearLayout.addView(et_hobby)  
     etarray.add(et_hobby)  
    }  

我的想法是,我想在etary时触发这个函数。最后的isNotEmpty是真的。我想我需要一个列表器,但我不知道是哪个<你能帮帮我吗?

共有1个答案

公冶昆杰
2023-03-14

您可以使用以下侦听器侦听EditText中的文本更改:

etarry.last.addTextChangedListener(object :TextWatcher{
            override fun afterTextChanged(s: Editable?) {
                if(s.toString().trim().length > 0){
                   addIt();
                }else{
                   //You can remove it if you want!
                }
            }

            override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
            }

            override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            }

        })

编辑1:

 类似资料:
  • 我正在编辑其中我必须在输入用户的身高,如(5'6)(5'11)(英尺英寸)等。现在,当我在输入第一个字符时,一个撇号会自动添加到的第二个位置(上)。 问题是,当我试图擦除字符时,它不会在第一个位置之后擦除,因为当< code>EditText长度为1时,它会在第二个位置添加一个< code>'。 我该如何解决这个问题?请与我分享任何解决方案。 对不起我的英语不好

  • 我试图在EditText中设置文本,但它说: 我的代码如下: 不要说用< code>setText,因为我用的是kotlin,不是Java。

  • 我想在用户在EditText中键入文本时将文本放入我的应用程序中的某个字符串中,并使用它来生动地在活动上显示它(在不同的视图中...) - 就像谷歌的实时/即时搜索工作一样...

  • 问题内容: 我有一个jQGrid的列,我只想在添加新行时可编辑。 我已经看到了在对话框中同时进行编辑和添加时如何执行此操作的示例,但是是否可以通过内联编辑来执行此操作? 我试过在beforeShowForm:中使用grid.setColProp(),但这是行不通的(该列保持只读状态,并且在添加对话框中不存在)。 问题答案: 在旧示例中],可以在“添加”或“编辑”对话框中修改的所有字段都具有属性。仅

  • 我想在警报对话框中添加两个编辑文本字段。虽然这个解决方案听起来很简单,但到目前为止,我还没有找到一个可行的解决方案。我无法同时设置两个(编辑文本)视图。 如果你想看更多的代码,请发表评论。 我希望第一个编辑文本出现在lot之后,第二个出现在quantity之后,而当我尝试在两个视图中推入时,它们中只有一个似乎在工作。 UPDATE:事实证明,实际上没有一种方法可以在不为警报对话框创建布局的情况下单

  • 在Sublime Text中,我可以使用Ctrl D或Command D(Mac OS)在当前所选文本的下一次出现时快速添加新光标。如何在 VSCode 中执行此操作?