我创建了一个使用EditText作为地址栏的浏览器,该浏览器工作正常,但是我正在尝试对其进行配置,以便用户可以输入普通搜索查询以及带有后缀的任何网址。换句话说,我正在尝试模仿其他流行的浏览器,这些浏览器允许用户在其地址栏中输入“输入网址或搜索”,并且如果仅输入 如果没有实际的网址,则会将用户引导至已加载预定义搜索结果的Google搜索。我已经能够对其进行配置,因此它可以在没有https://的情况下进行搜索,但我无法弄清楚其余部分,它必须是合法网站,并带有.com / org后缀。我尝试了一些不同的代码方案,例如if / else和其他一些事情,但没有任何效果。我试图在不使用搜索窗口小部件的情况下实现这一目标,因为我认为这不会带来理想的结果。另外,如果可能的话,我宁愿使用自定义EditText来执行这些操作。我希望我以理解预期结果的方式对此进行了解释。有什么想法吗?
主Java。...这是功能性的,但未返回预期结果。
private void SearchWebAddress() {
String Url_Address = UrlInput.getText().toString();
if (TextUtils.isEmpty(Url_Address)) {
Toast empty = Toast.makeText(UrlSearch.this, "Please Enter Url or Web Address", Toast.LENGTH_LONG);
empty.show();
} else {
String url_Without_https = Url_Address.replaceAll("https://google.com/search?ei=%20+%20", "");
String https = "https://";
String www = "www.";
Intent search = new Intent(UrlSearch.this, UrlSearch.class);
search.putExtra("url_address", https + www + url_Without_https);
startActivity(search);
UrlInput.setText("");
UrlInput.requestFocus();
}
}
主xml中的我的EditText地址栏
<android.support.v7.widget.AppCompatEditText
android:id="@+id/input_search_url"
android:layout_width="303dp"
android:layout_height="35dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="11dp"
android:layout_marginLeft="11dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:autofillHints=""
android:background="#0000D1"
android:ems="10"
android:gravity="start|center"
android:hint="Search or Enter Url"
android:inputType="textUri"
android:importantForAutofill="auto"
android:imeOptions="actionGo"
android:textColorHighlight="#39ff14"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/home_button"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />