Mic*_*ael 29
Spanned spanned = Html.fromHtml("<a href=\"http://google.com\">google.com</a>");
textView.setText(spanned);
Run Code Online (Sandbox Code Playgroud)
编辑:这不是处理链接点击的理想方式,但我不知道任何其他方式.
您的主要活动包含TextView一个链接.链接URL具有自定义方案.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView link = (TextView)findViewById(R.id.link);
link.setText(
Html.fromHtml("<a href='myscheme://www.google.com'>link</a>"));
link.setMovementMethod(LinkMovementMethod.getInstance());
}
}
Run Code Online (Sandbox Code Playgroud)
当点击这个链接的Android启动一个Activity与ACTION_VIEW使用链接URL.假设您有一个WebViewActivity使用此自定义方案处理URI的方法.它获取传递的URI并用其替换其方案http.
public class WebViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
if( savedInstanceState == null ) {
String url =
getIntent().getDataString().replace("myscheme://", "http://");
// do something with this URL.
}
}
}
Run Code Online (Sandbox Code Playgroud)
要处理自定义URI方案,WebViewActivity必须在AndroidManifest.xml文件中包含intent过滤器:
<activity android:name=".WebViewActivity" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="myscheme" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12759 次 |
| 最近记录: |