从网页获取内容并在TextView中显示

时间:2012-11-08 07:50:55

标签: android html inputstream

我想用一些有关某事的信息来更新用户。我想我会从网页上获取一些信息并在TextView中显示。我已经编写了一些代码,但它目前在TextView

中提供了这样的输出
<html>
<head>
</head>
<body>
This is the test message for our user.
</body>
</html>

但是我希望消息应该只包含这一行,没有别的。

This is the test message for our user.

我写的代码是:

public class MainActivity extends Activity {

private Button btnSkipContinue;
private TextView txtMessage;
private StringBuilder response;
private String text;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);
    btnSkipContinue = (Button) findViewById(R.id.btnSkipCon);
    txtMessage = (TextView) findViewById(R.id.txtMsgForUsers);
    btnSkipContinue.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {
            finish();
            Intent intent = new Intent(MainActivity.this, SecondActivity.class);
            startActivity(intent);
        }
    });

    try {
        URLConnection connection = new URL("http://mywebiste.com/msg/MsgForUsers.html").openConnection();
        connection.setRequestProperty("Accept-Charset", "UTF-8");
        InputStream responseStream = connection.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(responseStream));
        response = new StringBuilder();
        String line;
        while ((line = br.readLine()) != null) {
            response.append(line);
        }
        text = response.toString();
        Log.i("Output", text);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    txtMessage.setText(text);
}
}

1 个答案:

答案 0 :(得分:2)

使用Html.fromHtml() ..

String htmlString = "<html><head></head><body>This is the test message for our user.</body></html>";
textView.setText(Html.fromHtml(htmlString));