<分区>
在我的 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 更改可点击超链接中的这个字符串?
谢谢