1

rss.xmlファイルを取得し、トピックの見出しをリストビューで表示するアプリです。リストビューの項目(トピック見出し)をクリックすると、Contenurlアクティビティでwebviewで開きます。しかし、ページは空白です。「feedUri」が Contenturl.java に値を渡していないことを意味します 「feedUri」をhttp://google.comのようなアドレスに置き換えると、正常に動作します。次に、リストビューの任意の項目をクリックすると、google.com が webview (アプリ内) で開かれます。しかし、「feedUri」で url 値を渡すにはどうすればよいですか? Contenurl.java ファイルを変更する必要はありますか? 助けてください

これは MainActivity.java の一部です

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {


  Uri feedUri = Uri.parse(myRssFeed.getItem(position).getLink());
  Intent w = new Intent(this, Contenturl.class);
  w.putExtra(org.rss.mywindows.Contenturl.URL,feedUri);
  startActivity(w);

ここに Contenturl.java があります

public class Contenturl extends Activity {

    public static final String URL = "";
    private static final String TAG = "WebscreenClass";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contenturl);

        String turl = getIntent().getStringExtra(URL);
        Log.i(TAG, " URL = "+turl);

        WebView webview = new WebView(this);
        setContentView(webview);

        // Simplest usage: No exception thrown for page-load error
        webview.loadUrl(turl);  

    }
}
4

3 に答える 3

1

使用する

w.putExtra(org.rss.mywindows.Contenturl.URL,feedUri.toString());

それ以外の

w.putExtra(org.rss.mywindows.Contenturl.URL,feedUri);

そしてContenturlアクティビティで

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contenturl);

        String turl = getIntent().getStringExtra(URL);

        Uri feedUri = Uri.parse(turl);

最初のアクティビティから Uri を送信し、別のアクティビティで文字列として受信しているためです。解決策は、最初のアクティビティから文字列として送信することです

于 2012-12-07T09:32:57.203 に答える
0

あなたのコードの代わりに以下のコードを書いてくださいonListItemClick()

Uri feedUri = Uri.parse(myRssFeed.getItem(position).getLink());
Intent w = new Intent(this, Contenturl.class);
w.putExtra("Uri",feedUri);
startActivity(w);

2 番目のアクティビティでインテントから URL を取得するには、以下のコードを使用します。

Bundle bdl = getIntent().getExtras();
mUri = bdl.getString("Uri");
于 2012-12-07T09:33:15.013 に答える
0

空の文字列をキーとして渡しているアクティビティで

String turl = getIntent().getStringExtra(URL);

public static final String URL = "";
于 2012-12-07T09:33:34.643 に答える