Я создал работающий веб-браузер, но я пытаюсь реализовать код, который будет выполнять поиск в адресной строке EditText в Google, если пользователь не введет такой суффикс, как .com / .org и т. Д. Мне это нужно работать как любой другой современный браузер, который позволит пользователю осуществлять поиск прямо из адресной строки. Я пробовал несколько различных операторов if / else, которые должны достичь желаемого результата, но каждое из них выдает какую-то ошибку. Есть идеи?
Это код, который работает, но не достигает желаемого результата, он только вызывает URL:
WebView webView;
private ProgressBar progressBar;
String current_page_url = "http://www.google.com";
CoordinatorLayout coordinatorLayout;
EditText editText;
Button btnLaunchWebsite2;
String edittextvalue;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browser);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("");
toolbar.setNavigationIcon(R.drawable.ic_arrow_back);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
if (getIntent().getExtras() != null) {
current_page_url = getIntent().getStringExtra("url");
}
webView = findViewById(R.id.webView);
progressBar = findViewById(R.id.progressBar);
initWebView();
webView.loadUrl(current_page_url);
btnLaunchWebsite2 = findViewById(R.id.btnLaunchWebsite2);
editText = findViewById(R.id.editText);
coordinatorLayout = findViewById(R.id.main_content);
btnLaunchWebsite2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String editextvalue = editText.getText().toString();
if (!editextvalue.startsWith("http://"))
editextvalue = "http://" + editextvalue;
String url = editextvalue;
webView.loadUrl(url);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
}
});
}
private void initWebView() {
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(View.VISIBLE);
current_page_url = url;
invalidateOptionsMenu();
}
В проблемной области это код, который я пробовал, но каждый раз выдает ошибки:
btnLaunchWebsite2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
String url = editText.getText().toString();
if (url != " ") {
}
if (url.contains(".") && url.contains(" ") || url.length() < 4) {
url = "https://www.google.com.np/search?q="
+ editText.getText().toString();
webView.loadUrl(url);
}
if (url.contains(".com") || url.contains(".")) {
if (url.contains("http://") || url.contains("https://")) {
webView.loadUrl(url);
} else if (editText.getText().toString().contentEquals("")) {
} else {
url = "http://" + editText.getText().toString();
webView.loadUrl(url);
}
} else {
if (editText.getText().toString().contentEquals("")) {
} else {
url = "https://www.google.com.np/search?q="
+ editText.getText().toString();
webView.loadUrl(url);
}
}
}