java - 在没有单击按钮的情况下输入后,将 EditText 的值添加到 strings.xml 中的字符串

标签 java android dynamic android-edittext

我正在尝试构建一个简单的应用程序,以我的语言为初始阅读障碍评估提供资源,因此原始字符串是保加利亚语,我已将其更改为此处的示例文本。

情况是这样的:

  • 我有一个 EditText,因此用户可以输入 child ,因为它稍后会(希望)通过电子邮件发送结果 我想在那里有个人风格
  • 填充 EditText 后,我​​想在没有 单击按钮并获取它以更新中问题的字符串 测试。 (例如: child 的名字输入是“Amy”,我想要 问题是“玩____时很容易分心”,之后 名称输入让他们更改为“当玩 Amy 时很容易 分心了”。

我一直在寻找解决方案,我能找到的最接近我需要的东西写在下面。但是输入没有任何变化。

我不介意答案是否需要改变我的计划——例如添加一个按钮。但我真的很想能够以某种方式动态更新它。

我的阅读障碍测试 Activity .java

EditText childName;
String savedName;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dyslexia_test_layout);

    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    int width = dm.widthPixels;
    int height = dm.heightPixels;

    getWindow().setLayout((int) (width * .9), (int) (height * .8));
    childName = (EditText) findViewById(R.id.name_input);
    savedName = childName.getText().toString();
    String text = String.format(R.string.dyslexia_question_one, savedName);
}

}

我的编辑文本

<EditText
        android:id="@+id/name_input"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:hint=""/>

我试图让 EditText 显示的字符串:

<string name="dyslexia_question_one">String text  <xliff:g id="name" example="Amy">%1$s</xliff:g> more string text here</string>

最佳答案

EditText 失去焦点时,您可以添加一个监听器来监听。

 childName.addTextChangedListener(new TextWatcher() {

      public void afterTextChanged(Editable s) {

         String question= //....get the question;
         String sWithName = 
         question.replace("xxx",yourEditText.getText().toString())
         yourTextView.setText(sWithName);

      }

      public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

      public void onTextChanged(CharSequence s, int start, int before, int count) {}
   });
}

修改String,在你想放名字的地方加上XXX。

例如,将“XXX”更改为点 (....)。或者您喜欢的任何内容。

关于java - 在没有单击按钮的情况下输入后,将 EditText 的值添加到 strings.xml 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48602647/

相关文章:

Java Hibernate id 自动递增

java - J2ME 中的 LWUIT : setting the style of a list cell when pressed

javascript - 设置动态创建的 div 元素的样式

javascript - 如何使用 javascript 将 IFRAME 添加到 ajax 加载的内容

javascript - 动态更新 d3.js 树形图

java - 如何在rs232连接上写入

java - 如何在 Firebase 中遍历子项 - Java

android - Collapsingtoolbarlayout中如何正确使用map fragment

android - 图像处理安卓应用

android - 使用 Moshi 的 Kotlin codegen 有困难