2012-12-07 141 views
1

這是一個應用程序,它獲取rss.xml文件並顯示主題的標題無列表視圖。當單擊listview的項目(主題標題)時,它將在webview中打開Contenurl活動。但該頁面是空白的。這意味着「feedUri」沒有將值傳遞給Contenturl.java 如果我用http://google.com之類的任何地址替換「feedUri」,那麼它工作正常。然後,如果我點擊任何項目的ListView,google.com在webview(在我的應用程序內)打開。但我怎麼能通過「feedUri」的URL值?我需要在Contenurl.java文件中進行任何更改嗎? plz幫助URL值未傳遞給其他活動

這是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); 

    } 
} 
+0

請參見我的答案,它會解決你的問題。 –

回答

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,並在另一個活動接受它作爲字符串。然後解決方案將其作爲第一個活動的字符串發送

+0

最受歡迎的朋友:) –

+0

替換爲w.putExtra(org.rss.mywindows.Contenturl.URL,feedUri);與w.putExtra(org.rss.mywindows.Contenturl.URL,feedUri);解決了...... –

+0

但兩者都是相同的字符串你發表評論 –

0

寫下面的代碼而不是您的onListItemClick()代碼。

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

並使用下面的代碼從第二個活動中的意圖回收網址。

Bundle bdl = getIntent().getExtras(); 
mUri = bdl.getString("Uri"); 
0
在活動

你考取空字符串作爲關鍵

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

public static final String URL = ""; 
相關問題