如何在应用启动时更新TextView结果

时间:2019-04-09 13:28:50

标签: java android

我正在将数据从网站提取到我的应用程序中。我希望TextView在用户启动应用程序时立即显示我想要从网站获得的结果。但是,HTML代码有时会使结果看起来很奇怪,我正在尝试对其进行更正。我有可以做我想做的代码。我只是不知道如何在应用程序启动时使其自动执行所有操作。它需要从网站上提取代码,如果它在字符串中接收到任何特殊符号,我希望它在应用启动后立即进行更正。这是一个例子...

TextView tv = (TextView) findViewbyId(R.id.my_textview_result);
tv.setText(resultFromWebsite);

结果拉到:你永远是我!

我想要的结果:永远的你和我!我的应用程序应该纠正它。

这是我的更正代码...

public void symbolTextFilter(TextView myTv) {
String getData = tv.getText().toString();

if (getData.contains("u0026") {
   String replace = getData.replace("u0026", "&");
   myTv.setText(replace);
}

现在使用我的onCreate方法

TextView tv = (TextView) findViewbyId(R.id.my_textview_result);
tv.setText(resultFromWebsite);

symbolTextFilter(tv);

它不会进行更正。但是,如果我将symbolTextFilter(tv)放在onClickListener按钮中,它将实现。我不想在按钮中指定更正。我要自动。我的猜测是,我在onCreate中拥有的所有内容都发生得太快,无法进行更正。我该如何解决?预先感谢!

2 个答案:

答案 0 :(得分:0)

尝试一下:

[1, 2, 4, 5, 10, 20]

您应该使用symbolTextFilter方法仅处理字符串:

[1, 2, 5, 10]

答案 1 :(得分:0)

没关系,我明白了!我不确定“ \”的来源,因为它不在校正之前提取的原始字符串中。我用这个解决了...

public String symbolTextFilter(String input) {
if (input.contains("u0026") {
return input.replace("\\" + "u0026", "&");
} else {
return input 
}