为了账号安全,请及时绑定邮箱和手机立即绑定

如何将数据正确地从一项活动传递到另一项活动?

如何将数据正确地从一项活动传递到另一项活动?

泛舟湖上清波郎朗 2021-10-27 10:33:01
目前,我正在开发一个新闻应用程序,我已经实现了 Webview,但 URL 没有加载数据并显示空屏幕。我遵循了一些教程,其中可以使用 Intents Parcelable 传递对象。当用户单击文章项目时,我想实现什么我想显示相应的 url 使用 Parcelable 显示它的 web 视图,但显示白屏。在我实现 webview 的 DetailActivity 代码下面public class DetailActivity extends Activity{    @BindView(R.id.article)    public WebView article_webview;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.detail_activity);        ButterKnife.bind(this);        Article object = (Article) getIntent().getParcelableExtra("myDataKey");        article_webview.getSettings().setJavaScriptEnabled(true);        article_webview.loadUrl("myDataKey");    }    public class WebViewController extends WebViewClient {        @Override        public boolean shouldOverrideUrlLoading(WebView view, String url) {            return true;        }    }**below my parcelable Model Article class **public class Article implements Parcelable {    @SerializedName("source")    @Expose    private Source source;    @SerializedName("author")    @Expose    private String author;    @SerializedName("title")    @Expose    private String title;    @SerializedName("description")    @Expose    private String description;    @SerializedName("url")    @Expose    private String url;    @SerializedName("urlToImage")    @Expose    private String urlToImage;    @SerializedName("publishedAt")    @Expose    private String publishedAt;    @SerializedName("content")    @Expose    private String content;    public Source getSource() {        return source;    }    public void setSource(Source source) {        this.source = source;    }    public String getAuthor() {        return author;    }    public void setAuthor(String author) {        this.author = author;    }    public String getTitle() {        return title;    }在我的 MainActivity 类下面,我在那里传递了 Parcelable 对象
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

请尝试“getUrl().toString”


查看完整回答
反对 回复 2021-10-27
?
慕村9548890

TA贡献1884条经验 获得超4个赞

您只是从 MainActivity 传递 url(检查此行)


i.putExtra("myDataKey", article.getUrl());

所以你只会得到下一堂课的 url 而不是整个对象


请替换您的以下几行,


Article object = (Article) getIntent().getParcelableExtra("myDataKey"); article_webview.getSettings().setJavaScriptEnabled(true);

article_webview.loadUrl("myDataKey");

有了这个 :


String url = getIntent().getStringExtra("myDataKey");

 article_webview.getSettings().setJavaScriptEnabled(true);

article_webview.loadUrl(url);


查看完整回答
反对 回复 2021-10-27
  • 3 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信