如何使EditText充当默认的Google搜索和常规地址栏?

时间:2019-05-05 19:42:59

标签: android search android-edittext

我创建了一个使用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" />

0 个答案:

没有答案