1
//. . .

public class MainActivity extends Activity {

    //. . .

    @Override
    protected void onCreate( Bundle savedInstanceState ) {
        //. . .
        mainActivityProcedure ( );
    }

    //. . .

    public static void mainActivityProcedure ( ) {
        //. . .
        AnotherActivity.anotherActivityProcedure ( ) ;
        SomeActivity.someActivityProcedure ( );
        //. . .
    }

    //. . .

}

//. . .

public class SomeActivity extends Activity {

    //. . .

    @Override
    protected void onCreate( Bundle savedInstanceState ) {
        //. . .
        someWebView = ( WebView ) findViewById ( R.id.someWebView );
        //. . .
    }

    //. . .

    public static void someActivityProcedure ( ) {
        //. . .
        try {
            someWebView.loadDataWithBaseURL ( null , someHTMLCode, mimeType, encoding, null );
    catch ( Exception e ) {
        Log.i("SomeActivity", "someWebView loadDataBaseURL () " + e.toString() );
    }
        //. . .
    }

    //. . .
}

//. . .

public class AnotherActivity extends Activity {

    //. . .

    @Override
    protected void onCreate ( Bundle savedInstanceState ) {
        //. . .
        anotherWebView = ( WebView ) findViewById ( R . id.anotherWebView ) ;
        //. . .
    }

    //. . .

    public static void anotherActivityProcedure ( ) {
        //. . .
        anotherWebView . loadDataWithBaseURL ( null, anotherHTMLCode, mimeType, encoding, null ) ;
        //. . .
    }
}

anotherActivityProcedure が呼び出されると、AnotherActivity は常に anotherHTMLCode を読み込みます。mainActivityProcedure が MainActivity.onCreate から呼び出される場合を除き、SomeActivity は someHTMLCode を読み込みます。someWebView または SomeActivity の何が問題になっていますか? ここに元のコードを入れることはできません。

追加: loadDataWithBaseURL() で null を置き換えても修正されません。追加: Logcat は、キャッチから Log.i() を置くメッセージ java.lang.NullPointerException を表示します。

4

1 に答える 1

0

これを試して、MainActivity内のInitilized SomeActivityと、アクセスできるuse_someactivityオブジェクトを試してください。

SomeActivity _someactivity = new SomeActivity();
_someactivity.someActivityProcedure ();
于 2013-03-11T04:46:56.187 に答える