簡體   English   中英

從OnClickListener重新加載或刷新活動不起作用

[英]Reload or Refresh Activity from OnClickListener not working

在我的“ ArticleActivity”(用戶在其中閱讀文章)中,有一個“相關文章”列表。 當用戶單擊一個文章時,它應該重新加載或刷新ArticleActivity以顯示他們單擊的文章,而不是他們剛剛閱讀的文章。

我在網上找到了很多答案,並嘗試了大約492個答案...我可以讓它開始一個不同的活動,但是我無法讓它重新開始當前的活動。

我最近的嘗試:

    //RELATED ARTICLE CLICK
    relatedArticleClickListener = new OnClickListener()
    {
        public void onClick(View v) {
            Log.d("MYLOG", "related article clicked " + v.getId());
            Intent myIntent = new Intent(v.getContext(), ArticleActivity.class);
            myIntent.putExtra("id", v.getId());
            startActivity(myIntent);
            finish();
        }   
    };

更新:

可能與具有以下內容的ArticleActivity有關: android:launchMode="singleTask"嗎? 我在那里需要它,但是還需要能夠用新文章重新加載活動。

如果我將ArticleActivity.class更改為MainActivity.class並使所有其余代碼完全相同,則它將轉到MainActivity。

替換這些行

finish();
startActivity(myIntent);

用這些

startActivity(myIntent);
finish();

閱讀您的更新后,進一步了解您的問題。 該行為與您的singleTask指定有關。 singleTask ,如果活動已經存在,則不會重新創建活動,而是會調用其onNewIntent()方法來處理新的意圖。 有關更多信息,請參見Activity.launchmode

您真的需要singleTask嗎? 因為刪除它也會導致您的問題消失。 它還將允許您閱讀的文章位於后退堆棧中,因此當您的用戶用完一篇文章並按向后鍵時,會將其帶回到第一篇文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM