所以我正在创建一个Android应用程序,打开用户输入的任何网站。我使用以下代码来实现此目的:
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)
。
我在这里缺少什么?
答案 0 :(得分:2)
startsWith()
是String s
方法,您在EditText
中使用它。要解决此问题,您必须获取文本:
String urlText = url.getText().toString();
if (!urlText.startsWith("http://") && !urlText.startsWith("https://")) {
urlText = "http://" + url;
}
答案 1 :(得分:0)
这对我来说很好
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);