2016-10-24 2 views
0

사용자가 Android.Webkit.WebView의 내용을 터치 할 때 어떤 요소가 클릭되었는지 알아야합니다. HTML 요소의 유형과는 관계가 없습니다. 나는 <button> 요소, 예를 들어 클릭하면웹 뷰에서 어떤 HTML 요소를 터치했는지 확인하는 방법은 무엇입니까?

private void WebView_Touch(object sender, View.TouchEventArgs e) 
{ 
    var hitTest = webView.GetHitTestResult(); 
    var type = hitTest.Type; 
    var element = hitTest.Extra; 
    // Determine what todo based on type and element 
} 

그러나 이벤트가 발생하지만, 히트 시험 :

내 접근 방식은 지금까지와 같은 같은 히트 테스트를 터치 이벤트를 사용하여 수행 할 수 있었다 결과가 나오지 않습니다. 즉, 타입과 요소가 비어 있습니다. 어쩌면 히트 테스트가 아직 끝나지 않았을까요? GetHitRect 번으로 전화해야합니까?

+0

GetHitTestResult은 참조 앵커와 같은 요소, IMG 등의 특정 알려진 유형에서 작동합니다 https://developer.android.com/reference/android/webkit/WebView.html#getHitTestResult() 을 무엇 당신의 구체적으로 요구 사항? 해결책을 제시하는 데 도움이 될 것입니다. – Nandy

+0

@Nandy : 고마워, 잘 알고있다. 나는 그 질문을 적절하게 정제했다. 테스트 시나리오에서는'

답변

1

Android API 문서에 따라 다음 HTML 요소를 감지 할 수 있습니다.

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 
+0

이 열거 형은 어떤 종류의 요소가 처리되었는지에 대한 추가 힌트를 제공하는 것으로 이해되었지만 이러한 유형으로 제한된 히트 테스트 기능은 무엇입니까? – Georg

+0

예 오른쪽 ....... –

관련 문제