android – 当Activity完成时更新ListFragment
作者:互联网
我创建了一个listfragment和一个按钮,如下所示(左图)
每当我点击一个ADD按钮时,就会打开一个新的Activity,并在该用户内部写一些东西然后点击DONE,激活完成并返回到ListFragment,但点击DONE之后我将如何使用新值更新ListFragment.我的意思是我在哪里可以写
notifyDataSetChanged.
注意:当我点击DONE时,数据将存储在数据库中,当ListFragment加载时,它将获取其中的数据
我正在使用android支持兼容库
解决方法:
您应该使用StartActivityForResult().
//place in shared location
int MYACTIVITY_REQUEST_CODE = 101
//start Activity
Intent intent = new Intent(getActivity(), MyActivity.class);
startActivityForResult(intent, MYACTIVITY_REQUEST_CODE);
然后,您应该覆盖片段中的onActivityResult().关闭活动后将调用该方法.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == MYACTIVITY_REQUEST_CODE) && (resultCode == Activity.RESULT_OK))
adapter.notifyDataSetChanged()
}
结果代码在活动完成之前在活动中设置:
setResult(Activity.RESULT_OK)
使用requestCode和resultCode实际上是可选的.如果要从片段中启动多个活动,则只需使用requestCode.如果需要从活动返回不同的结果,则只需使用resultCode.
标签:android-listfragment,android,android-fragments,android-listview 来源: https://codeday.me/bug/20190826/1730113.html