2016-06-02 3 views
1

Я использую WebView для вызова формы из документов Google на Android. Когда я запускаю его на эмуляторе и телефоне, все CheckBox не могут быть нажаты. Пожалуйста помоги. Надеюсь, вы сможете это понять. Спасибо.Как использовать Google Forms в Android

Вот моя деятельность класса

package com.example.nevigrof.ymuc; 
import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class SurveyForm extends Activity { 
    private class MyWebViewClient extends WebViewClient { 

    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
     } 
    } 
    WebView webview; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_survey_form); 

     webview = (WebView) findViewById(R.id.webview1); 
     webview.setWebViewClient(new MyWebViewClient()); 
     openURL(); 
    } 

    private void openURL() { 
     webview.loadUrl("thegoogleformiwanttobrowse"); 

    webview.requestFocus(); 

    } 
} 

Вот мой макет 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="com.example.nevigrof.ymuc.SurveyForm"> 

    <WebView 
     android:id="@+id/webview1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" /> 
</RelativeLayout> 

ответ

0

Используйте фокус запроса, чтобы иметь возможность щелкнуть внутри веб-обозревателя.

webview.requestFocus(View.FOCUS_DOWN); 
0

Надеется, что это помогает, вы можете попробовать:

добавить android:focusable="true" в вашем Webview макета

добавить Webview.requestFocus(View.FOCUS_DOWN|View.FOCUS_UP);

EDIT: Если два решения все еще не работает, то попробуйте:

webview.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
      case MotionEvent.ACTION_UP:      
       if (!v.hasFocus()) { 
        v.requestFocus(); 
       } 
       break; 
     }    
     return false; 
    } 
}); 

или

webview.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
     case MotionEvent.ACTION_UP: 
      v.requestFocusFromTouch(); 
      break; 
    }    
    return false; 
} 
}); 
+0

я сделал это некоторое время назад, сэр, но до сих пор его не кликабельны –

+0

Спасибо, сэр, но я не понимаю, где я положу этот код, я вставил его в свои коды, но он дает мне ошибки. –

+0

все еще не сработал сэр –

0

Вы должны включить JavaScript в вашем WebView:

webview.getSettings().setJavaScriptEnabled(true); 
+0

спасибо, сэр, Это была моя ошибка, еще раз спасибо, сэр за напоминание. это помогает много. –

+0

Добро пожаловать! Пожалуйста, отметьте ответ как принятый, если он вам помог. – jomartigcal

+0

Выполнено сэр, но он говорит. Как только я получу 15 рецензий, мои голоса будут показаны. Возможно, bcoz я только новый пользователь. –