按下后退按钮重新启动片段

时间:2015-01-09 16:48:23

标签: android android-fragments

我有一个名为view_profile的片段和名为edit_profile的活动 如果用户按下后退按钮,则在编辑配置文件后,我想获得更新的内容。

现在,在按下后退按钮时,它只是加载上一个片段而不重新加载内容。 如何重新启动片段活动?

我在互联网上搜索过。我找到了名为onRestart的方法。但是,我认为这是活动的方法,而不是片段。

2 个答案:

答案 0 :(得分:0)

你可以覆盖activity的onBackPressed()并在那里实现你自己的逻辑。

答案 1 :(得分:-1)

在view_profile中,使用startActivityForResult启动edit_profile活动。 在edit_profile中,处理后退按钮事件以更新内容:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch ( item.getItemId() )
    {
        case android.R.id.home:
        {
            // update the content
            this.getIntent().putExtra( "CONTENT_PARCELABLE", (Parcelable)content_data );
            this.getIntent().putExtra( "CONTENT_STRING", (String)string_content_data );
            setResult( RESULT_OK, this.getIntent() );

            finish();
            return true;
        }
    }
}

...

在view_profile中

,从数据中获取更新结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    boolean  have_changes = false;

    if ( requestCode == REQUEST_RECORD_EDIT )
    {
        if ( resultCode == RESULT_OK )
        {
            // update the content from data
            updated_content = data.getParcelableExtra("CONTENT_PARCELABLE");
            updated_string_content = data.getStringExtra("CONTENT_STRING");
        }
    }
}