所以我正在创建一个安卓应用程序,它可以打开用户输入的任何网站。我使用以下代码来实现此目的:
public class MainActivity extends AppCompatActivity {
private EditText url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
url = (EditText) findViewById(R.id.txtbox_website);
}
public void open(View view){
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url.getText().toString()));
startActivity(browserIntent);
}
}
但是当我包含此代码时:
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "http://" + url;
}
检查字符串是否以 http 或 https 开头,我收到错误。错误是这样的:
无法解析方法
startsWith(java.lang.string)
。
我在这里错过了什么?
>startsWith()
是一种String s
方法,您正在EditText
中使用它。要解决此问题,您必须获取以下文本:
String urlText = url.getText().toString();
if (!urlText.startsWith("http://") && !urlText.startsWith("https://")) {
urlText = "http://" + url;
}
这对我来说很好用
String linkUrl;
if (url.startsWith("http://")) {
linkUrl = url;
} else if (url.startsWith("https://")) {
linkUrl = url;
} else {
linkUrl = "http://" + url + "";
}
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUrl));
startActivity(i);