我有一个启动新活动的菜单按钮,当用户按下按钮时,它会将数据写入SQLite数据库并完成活动。但它返回的片段显示信息,并且在活动结束时不会令人耳目一新。当我回到片段时,如何确保刷新数据?
我正在使用startActivityForResult()并使用下面的代码捕获结果,但我仍然没有刷新片段
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == MainActivity.MYACTIVITY_REQUEST_CODE) && (resultCode == Activity.RESULT_OK))
adapter.notifyDataSetChanged();
}
答案 0 :(得分:2)
onStart()
当片段变得可见或焦点时调用此方法。
答案 1 :(得分:1)
解决此问题的另一种方法
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_message, container, false);}
只是膨胀视图和适配器或其他什么都不做 和
@Override
public void onResume() {
super.onResume();
logiMessages.clear();//clear array
mAdapter.notifyDataSetChanged(); // notify adapter
getData(mParam1, mParam2); // getdatas from service
}
答案 2 :(得分:0)
解决此问题的一种方法是使用startActivityForResult(intent, MyStatusCode)然后使用以下内容捕获返回值:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == MyStatusCode) {
//Refresh the fragment here
}
}