0

WebView を介してフリップする ViewFlipper を作成しています。main.xml 内に WebView を配置すると、アプリの実行に問題はありません。複数の Web ビューを使用するので、それらを個別の XML ファイルに分割することにしました。main.xml の ViewFlipper 内にインクルード android:id="@+id/myWebView001" layout="@layout/pg001" を使用してこれを行うと、アプリの起動時に強制的に閉じられます。

次のコードを確認してください。これが正しく機能するための提案があれば、大歓迎です。またサンクス!!

main.xml:

<?xml version="1.0" encoding="utf-8"?>

    <ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ViewFlipper" 
        android:layout_width="fill_parent" android:layout_height="fill_parent" >

        <include android:id="@+id/myWebView001"  layout="@layout/pg001" />

    </ViewFlipper>

main.java:

package com.aero.ac4313;

import android.app.Activity;
import android.os.Bundle;

 public class main extends Activity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //set your content view, this will be your layout
    setContentView(R.layout.main);
   }
 }

pg001.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout>
    <WebView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/myWebView001" android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>

Pg001.java:

package com.aero.ac4313;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Pg001 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //set your content view, this will be your layout
    setContentView(R.layout.pg001);
    WebView mWebView = null;
    mWebView = (WebView) findViewById(R.id.myWebView001);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("file:///android_asset/pg001.html");
  }
}
4

1 に答える 1

0

エラーは明らかに単純です。メイン アクティビティ クラスが null です。彼は Pg001.class をメインのアクティビティ クラスにリンクせずに追加したと思います。マニフェスト ファイルに追加した場合は、もう一度やり直してください。

于 2011-12-15T20:01:01.227 に答える