[英]How to reload activity from onClickListener in ArrayAdapter
[英]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.