2012-12-07 139 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 = ""; 
相关问题