Получить событие click с веб-страницы в приложении для Android

Iam создает образец веб-страницы с кнопкой .. эта веб-страница, вызывающая в android с помощью webview.

Теперь, когда я нажимаю кнопку на веб-странице (это кнопка html). Я должен иметь возможность выполнять некоторые коды в android ..

как действовать?

public class web extends Activity { WebView mWebView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webdisplay); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("http://localhost/test.html"); valid = new Button(ctx); valid.setOnClickListener(this); refuse = new Button(ctx); refuse.setOnClickListener(this); } 

}

Мы можем обнаружить следующие элементы HTML в соответствии с документом API Android.

 int ANCHOR_TYPE HitTestResult for hitting a HTML::a tag int EDIT_TEXT_TYPE HitTestResult for hitting an edit text area int EMAIL_TYPE HitTestResult for hitting an email address int GEO_TYPE HitTestResult for hitting a map address int IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag which contains HTML::img int IMAGE_TYPE HitTestResult for hitting an HTML::img tag int PHONE_TYPE HitTestResult for hitting a phone number int SRC_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag with src=http int SRC_IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag with src=http + HTML::img int UNKNOWN_TYPE Default HitTestResult, where the target is unknown 

Я думаю, вы сможете получать все события, используя функцию setOnTouchListener WebView.

WebView имеет внутренний класс с именем HitTestResult . Класс HitTestResult поможет нам найти элемент HTML, который нажимает, когда пользователь нажимает на WebView.

Класс HitTestResult имеет только два метода.

  1. GetExtra (): возвращает строку. String имеет элемент HTML, который кликнул пользователь
  2. GetType (): возвращает целое число. Он используется для определения того, какой элемент HTML щелкнул пользователем.

Вы можете сделать так:

 wv.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { WebView.HitTestResult hr = ((WebView)v).getHitTestResult(); Log.i(TAG, "getExtra = "+ hr.getExtra() + "\t\t Type=" + hr.getType()); return false; } }); 

Отредактировано: обратитесь за отличным ответом: Обнаружите кнопку HTML с помощью javascript в Android WebView

Intereting Posts
IPhone и Android для мобильных игр? Отображение файла формы и файла OSM в android в качестве карты Android: добавление кнопки в уведомлении строки состояния Как получить все файлы из папки с ресурсами Кодировать тело сообщения SMS из ContentResolver в UTF-8 Совместное использование буфера между службой Java и родным приложением с минимальными затратами на доступ Android Gradle build: переименование apk Определите конкретный вход зарядного устройства Pro Android 2: Что делает system.out.println в Android? Необходимо захватить каждый http, отправленный / полученный от приложения Android на устройстве Не удалось создать экземпляр фрагмента Диалоговое окно прогресса, предоставляющее исключение в asynchtask Как создать пользовательскую карту на Картах Google? Закрытие всплывающего окна в Android UIL не поддерживает схему (протокол) по умолчанию. Вы должны реализовать эту поддержку самостоятельно