0

これは私のコードです。RSS フィードから解析されたデータを読み込もうとしています。しかし、google.com のみを使用してアプリをテストすると、エラーが発生します。

  public class WebsiteOpen extends Activity {

        WebView web;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_website_open);

            Intent intent = getIntent();

        String message = intent.getStringExtra("rss-url");
        web = (WebView) findViewById(R.id.webView1);
        web.getSettings().setJavaScriptEnabled(true);

        web.setWebViewClient(new WebViewClient() {
            public void onReceivedError(WebView view, int errorCode,
                    String description, String failingUrl) {
                Toast.makeText(WebsiteOpen.this, description,
                        Toast.LENGTH_SHORT).show();
            }
        });

        web.loadUrl("http://google.com");

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.website_open, menu);
        return true;
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        web.saveState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        web.restoreState(savedInstanceState);
    }

    }

これは私のマニフェストです

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.itcuties.multicategoryrssreader"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_dilc"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.itcuties.multicategoryrssreader.RssTabsActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.itcuties.multicategoryrssreader.RssChannelActivity" />
        <activity android:name="com.itcuties.multicategoryrssreader.Upfm" />
        <activity
            android:name="com.itcuties.multicategoryrssreader.listeners.WebsiteOpen"
            android:label="@string/title_activity_website_open"
            android:configChanges="orientation|screenSize" >
        </activity>
    </application>

</manifest>

お願い助けて。ありがとうございました。

4

1 に答える 1

0

Intent と message のコードを次のように置き換えることができると思います。

Bundle bundle = getIntent().getExtras();
String message = "";
try{
    message = bundle.getString("rss-url"");
}catch(nullpointerException e){
    //System.out.println("No String Extra");
}

ただし、次のコードは役に立たないと思います。代わりに削除する必要があります。

Intent intent = getIntent();
String message = intent.getStringExtra("rss-url");

うまくいかない場合は、ID「webView1」がレイアウト「activity_website_open.xml」に含まれていることを確認してください。

于 2013-05-30T04:29:42.880 に答える