【问题标题】:How to get a fragments EditText content?如何获取片段 EditText 内容?
【发布时间】:2016-03-08 09:13:57
【问题描述】:

我有一个带有 EditText 的片段,如screenshot

在 EditText 字段中输入内容后,我想将其返回给调用视图。目前我有一个错误的逻辑,

public String getEditTextContent()
{
    return myEditText.getText().toString();
}

不有什么意义,因为 EditText 字段没有被填充,调用这个时..?

所以我的要求:

  1. 按下我的父活动按钮,用 EditText 触发这个 Fragemnt(如上面的屏幕截图所示)(完成)
  2. 我在 EditText 字段中输入了一些内容。
  3. 我按键盘上的“完成”。
  4. 按下完成后,我的调用 Activity 会收到有关此输入内容的通知

有什么提示吗?

提前谢谢你

【问题讨论】:

    标签: android-fragments android-edittext android-keypad fragmentmanager


    【解决方案1】:

    您可以使用text watcher 来跟踪编辑文本输入。

    【讨论】:

    • 1.然后我在那个类中有字符串,我想把它放在另一个类中。 2.我不想对所有按键做出反应,当我按下键盘上的“完成”时我就完成了
    • okke,在这种情况下,您可以为该类实现一个侦听器,或者简单地创建一个单例类来保存您的数据。
    【解决方案2】:

    试试下面的代码:

    myEditText.addTextChangedListener(new TextWatcher() {           
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub
    
        }
    
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            getEditTextContent(); // this is your method
        }
    });
    

    【讨论】:

    • 1.然后我在那个类中有字符串,我想把它放在另一个类中。 2.我不想对所有按键做出反应,当我按下键盘上的“完成”时我就完成了
    • 我认为您的要求不清楚。您在问题中明确指定在编辑文本中输入内容后,您希望将其返回给调用视图。
    • 是的,但是如何通知调用视图/活动?这是在第 1 步中,父活动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多