Я читаю ответы в этой теме
И я попробовал, все заработало.Но он открыл новый диалог с загруженным URL-адресом, и это не совсем то, что я хотел.
Я хотел, чтобы URL был загружен прямо в элемент WebView под моей кнопкой.Итак, в основном у меня есть фрагмент, и у меня есть элемент EditText, Button и WebView внутри этого фрагмента.Что я хочу сделать, это нажать на кнопку «поиск» и загрузить URL-адрес из EditText прямо в WebView, расположенный прямо под кнопкой и элементами EditBox.Я не хочу, чтобы он открывал мой браузер или новый диалог.
Мне удалось автоматически загрузить некоторые URL-адреса в WebView, когда вы переходите к этому фрагменту в приложении, но когда я пытался загрузить некоторые URL-адреса при нажатии кнопки, приложение просто зависало.Я пытался найти решение этой проблемы много, прежде чем создавать этот поток, но, похоже, никто не имеет такой же проблемы.
Вот мой фрагмент_основной.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main">
<!-- TODO: Update blank fragment layout -->
<WebView
android:id="@+id/webV"
android:layout_width="match_parent"
android:layout_height="463dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginLeft="0dp"
android:layout_marginTop="48dp" />
<Button
android:id="@+id/searchBtn"
android:layout_width="99dp"
android:layout_height="43dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="0dp"
android:layout_marginEnd="7dp"
android:layout_marginRight="7dp"
android:text="@string/search" />
<EditText
android:id="@+id/SVbox"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/search_url"
android:inputType="text|textPersonName"
android:autofillHints="" />
</RelativeLayout>
И здесь, в Main.java(файл java для моего фрагмента) Я попробовал это:
package com.something.Something;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
/**
* A simple {@link Fragment} subclass.
*/
public class Main extends Fragment {
public Main() {
//Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_main, container, false);
WebView web = (WebView) view.findViewById(R.id.webV);
web.setWebViewClient(new WebViewClient());
web.loadUrl("http://randomsite.com");
Button btn = (Button) view.findViewById(R.id.searchBtn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
EditText et = (EditText) view.findViewById(R.id.SVbox);
WebView webz = (WebView) view.findViewById(R.id.webV);
webz.setWebViewClient(new WebViewClient());
webz.loadUrl("" + et.getText());
}
});
return view;
}
}
Когда я нажимаю на кнопку, приложение вылетает ... Я не знаю, в чем проблема, даже после долгих исследований.Кстати, я очень новичок в Android Studio, любая помощь приветствуется.