我是一名PHP程序员,他不得不在Android开发环境中做一些工作。我有2本书,已经尝试了30个搜索引擎主题,但仍然没有找到一个简单的例子,说明在Java安卓应用程序中放置工作超链接所需要做的一切。 我只需要一个非常简单但完整的成分。我有使用Eclipse和模拟器的2.2 android开发环境。我尝试过WebView控件,它只是在运行应用程序时将网站加载到窗口中。我需要一个指向网站示例的基本超链接。 我不想要任何其他内容(仅仅是一个带有工作超链接的应用程序),因为我试图一点一点地学习不同的控件以及控制它们的Java和XML代码。 这与PHP,ASP等完全不同,它让我完全在寻找答案。感谢;
Cullan
答案 0 :(得分:5)
Android是一个GUI,而不是Web浏览器。因此,“在Java安卓应用程序中放置一个工作超链接”类似于“将扫雪机放置在洗碗机上”或“在COBOL中实现Web应用程序”。这在技术上是可行的,但对于你真正试图解决的任何问题,可能是错误的解决方案。
因此,正如MatrixFrog所指出的,一种可能性是使用TextView
和一些HTML:
TextView tv=(TextView)findViewById(R.id.whatever_you_called_it_in_your_layout);
tv.setText(Html.fromHtml("<a href=\"http://foo.com/why/are/we/doing/this\">Who knows?</a>"));
但是,在GUI环境中这样做会很不寻常。大多数开发人员会使用按钮,菜单选项或这些行中的某些内容来触发查看某些URL。
答案 1 :(得分:3)
CommonsWare,这不是我所谓的详细解释或如何在Android应用程序中放置超链接的示例。它只是一小段代码,没有进一步的解释。我找到了自己的功能,这里是Java代码:
package com.practice.weblink;
import android.app.Activity;
import android.os.Bundle;
import android.text.util.Linkify;
import android.widget.TextView;
public class WebLink extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textview = (TextView) findViewById(R.id.hyperlink);
Linkify.addLinks(textview, Linkify.WEB_URLS);
}
}
TextView在main.xml文件中具有以下特性:
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hyperlink"
android:id="@+id/hyperlink"
android:autoLink="web"
>
</TextView>
strings.xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">WebLink</string>
<string name="hyperlink">http://google.com</string>
</resources>
这就是你如何给出一个有用的例子。下次不要假设人们可以将你在答案中提到的内容拼凑在一起。
答案 2 :(得分:1)
如何在XML布局文件中使用onClick
?
layout.xml
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:clickable="true"
android:text="@string/market_url"
android:textColor="#00f"
android:onClick="openURL"
/>
MyActivity.java
public void openURL(View v) {
String url = ((TextView) v).getText().toString();
final Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse(url));
startActivity(intent);
}