例如,我在textview中有一个句子。 我从URl中获取JSON数组中的句子。
My name is ____ .
我下面有一个编辑文字。
Edittext: ___write answer____
用户在写名字时,应该在textview语句中反映出来。 所以结果就是这样。
My name is John.
Edittext:__John___
如何实现这一点,任何建议。
try {
jsonarray = jsonobject.getJSONArray("results");
for (int i = 0; i < jsonarray.length(); i++) {
jsonobject = jsonarray.getJSONObject(i);
Collections.reverse(mcq);
Quiz_MCQ detailAll = new Quiz_MCQ();
detailAll.setPs(jsonobject.getString("ps"));
mcq.add(detailAll);
Collections.reverse(mcq);
}
} catch (JSONException e) {
Log.e("Error", "" + e.getMessage());
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void args) {
txtview = (TextView) findViewById(R.id.question);
EditText et = (EditText) findViewById(R.id.ed1);
txtview.setText((CharSequence) et);
我获取数据,我正在尝试在文本视图的_____“空格”处设置编辑文本的文本。
答案 0 :(得分:2)
将TextWatcher
添加到EditText
:
yourET.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!(s.toString().equals("")))
yourTV.setText( "My name is " + s.toString())
else{
else yourTV.setText("My name is ");
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
答案 1 :(得分:1)
请尝试以下代码:
String ans=et.getText().toString();
String s=textview.getText().tostring();
//Replace should be changed to "replace" to solve compile time error.
s=s.replace("____",ans);
textview.setText(s);
答案 2 :(得分:1)
替换()它不会改变句子的实际值...它会返回被替换的实例...所以试试这种方式..它的工作原理
data