[英]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.