猿问

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

目前,我正在开发一个新闻应用程序,我已经实现了 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 对象


泛舟湖上清波郎朗
浏览 161回答 3
3回答

天涯尽头无女友

请尝试“getUrl().toString”

慕村9548890

您只是从 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);
随时随地看视频慕课网APP

相关分类

Python
我要回答