在我的应用程序中,我想要点击“点击这里”,“HERE”是市场上应用程序的链接。
所以我做完了:
TextView link = (TextView) findViewById(R.id.appbrain);
link.setText("market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT");
Linkify.addLinks(link, Linkify.ALL);
但这不起作用。我该怎么办?
答案 0 :(得分:2)
使用链接的网络版:http://market.android.com/details?id=<package name>
。用户将被提示是否要在浏览器或市场应用程序中打开链接,或者如果他们已经选择了默认值,它将立即打开。
你也可以使用一些HTML并设置TextView的文本,如下所示:
textView.setText(Html.fromHtml("<a href=\"market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT\">CLICK HERE</a>"));
答案 1 :(得分:1)
您只需定义一个模式,因为此URL是为市场应用程序定义的自定义。
Pattern appWordMatcher = Pattern.compile("\\b[A-Z]+[a-z0-9]+[A-Z][A-Za-z0-9]+\\b");
String appMarketURL = "market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT";
Linkify.addLinks(txtView, appWordMatcher, appMarketURL);
有关详细信息,请参阅WikiNotes: Linkify your Text!
答案 2 :(得分:1)
好的,两个答案都是正确的;两者的问题是链接不可点击。但是,我发现了这个问题。
当我们想要(直接)链接URL时,我们只需要这样做:
TextView link = (TextView) findViewById(R.id.url);
link.setText("http://google.pt");
Linkify.addLinks(link, Linkify.ALL);
但是当我们想要“玩”我们需要使用的链接时(如另一个答案所述)我们可以使用HTML:
TextView link = (TextView) findViewById(R.id.appbrain);
link.setText(Html.fromHtml("" +
"- Download <a href=\"https://market.android.com/details?id=com.appspot.swisscodemonkeys.apps\">Appbrain</a>" +
" to update all your apps!"));
即使我们使用以下代码,该链接也不会被点击。
Linkify.addLinks(link, Linkify.ALL);
解决方案只是使用以下代码:
link.setMovementMethod(LinkMovementMethod.getInstance());