2016-06-02 11 views
1

私はWebViewを使用してAndroidのGoogleドキュメントからフォームを呼び出しています。エミュレータと電話機で実行すると、CheckBoxのすべてをクリックすることはできません。助けてください。私はあなたがそれを理解できることを願っています。ありがとうございました。AndroidでGoogleフォームを使用する方法

は、ここに私の活動のクラス

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

このことができます、あなたが試すことができます希望:

Webview.requestFocus(View.FOCUS_DOWN|View.FOCUS_UP);

EDIT追加するにはWebViewのレイアウトでandroid:focusable="true"を追加:2つの解決策がまだ動作していない場合は、試してみてください。

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

あなたのWebViewのではJavaScript有効にする必要があります。私はしばらく前に先生にそれをやったが、

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

あなたに感謝しました、それは私の誤りでした。それは多くの助けになります。 –

+0

あなたは大歓迎です!それがあなたを助けたら、答えを受け入れたものとしてマークしてください。 – jomartigcal

+0

完了ですが、評判が15になると票が表示されます。多分私は新しいユーザーだと思うかもしれません。 –

関連する問題