其他分享
首页 > 其他分享> > android – 当Activity完成时更新ListFragment

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