java - 将 TextView 转换为超链接

标签 java android xml

<分区>

在我的 android 应用程序中,如何将超链接显示为可点击的链接以在浏览器中打开。

为此,我从后端获取 json 消息,将数据保存在应用程序的 SQLite 数据库中,然后使用 TextView 在屏幕上显示它们 -

使用 AsyncTask 和进度对话框获取 json 消息 -

protected Void doInBackground(Void... params) {

     //some code goes here

     mMessages = json.getJSONArray(TAG_MESSAGES);
                // looping through all posts according to the
                // json
                // object returned
                for (int i = 0, length = mMessages.length(); i < length; ++i) {
                JSONObject c = mMessages.getJSONObject(i);

                // gets the content of each tag and put in
                // database
                String content = c.getString(TAG_MESSAGE);

                // add field in database and update
                db.addFieldInGcm(content);
    }
}

在 onPostExecute() 中,我使用 TextView lblMessage 对象使用保存在数据库中的所有消息刷新屏幕 -

// show messages on screen
        TextView lblMessage;
        lblMessage.setText("");
        List<String> messages = db.getAllGCMMessages();
        for (int k = messages.size() - 1; k >= 0; --k) {
            lblMessage.append(messages.get(k).toString() + "\n\n");

这是我的 lblMessage 的 XML 布局 -

<TextView
            android:id="@+id/lblMessage"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="2dip"
            android:padding="5dip"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="16dip"
            android:autoLink="all" ></TextView>    

似乎,XML android:autoLink 不适用于从数据库中获取的字符串。 所以,如果在显示消息时我使用类似 -

 if(  messages.get(k).toString().contains("http://www.") )

如何使用 java 更改可点击超链接中的这个字符串?

谢谢

最佳答案

使用 Linkify.addLinks(textView, Linkify.ALL)

关于java - 将 TextView 转换为超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719601/

相关文章:

java - 500 java.lang.OutOfMemoryError 后重定向

java - 在 Play 中通过多对多关系过滤模型对象! 2.0

java - 如何使用 jsoup 从站点获取页面的可导航链接?

Java XML Dom 文档 getElementsByTagNameNS 返回空 NodeList

java - 将数据从数据库传输到 JTable

android - 处理android中子菜单的点击

OnClickListener 中的 Java 语法困惑

iphone - 跨平台移动开发做了哪些工作?

java - 获取联系人姓名?

java - 如何使用 JAX 解析 XML