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

时间:2017-04-10 14:46:29

标签: android

所以我正在创建一个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)

我在这里缺少什么?

2 个答案:

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