安卓无法解析方法'startsWith(java.lang.string)'



所以我正在创建一个安卓应用程序,它可以打开用户输入的任何网站。我使用以下代码来实现此目的:

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);

最新更新