URL值不会传递到另一个活动(URL value is not passing to another

2019-10-17 11:15发布

这是获取一个rss.xml文件,并显示主题的标题呐列表视图的应用程序。当列表视图的项目(主题标题)被点击时,它在网页视图中Contenurl活动开幕。 但是,页面是空白。 这意味着“feedUri”不流通值Contenturl.java如果我取代“feedUri”与像任何地址http://google.com那么它工作正常。 然后,如果我点击列表视图中的任何项目,google.com中的WebView打开(我的应用程序内)。 但我怎么能传递与“feedUri”的url值? 我是否需要在Contenurl.java任何更改文件? plz帮助

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

    }
}

Answer 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,并在另一个活动接受它作为字符串。 然后溶液是从第一活动将其作为字符串



Answer 2:

下面写代码,而不是你的onListItemClick()代码。

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

而在第二个活动使用下面的代码retrive URL从意图。

Bundle bdl = getIntent().getExtras();
mUri = bdl.getString("Uri");


Answer 3:

在活动中你考取空字符串作为关键

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

public static final String URL = "";


文章来源: URL value is not passing to another activity