Android 未调用ActivityResult()的侦听器中的startactivityforresult()

Android 未调用ActivityResult()的侦听器中的startactivityforresult(),android,android-fragments,start-activity,Android,Android Fragments,Start Activity,我知道有很多类似的问题,但没有一个解决了我的问题 我在seekbar侦听器中调用startActivityForResult。但是,不会调用onActivityResult。这是我的密码。出了什么问题 public class PeopleActivity extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,

我知道有很多类似的问题,但没有一个解决了我的问题

我在seekbar侦听器中调用startActivityForResult。但是,不会调用onActivityResult。这是我的密码。出了什么问题

public class PeopleActivity extends SherlockFragment {

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
    volumeControl.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            int progressChanged = 0;

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                progressChanged = progress;
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {


                Intent in = new Intent(getActivity(), com.mytest.mytestninja.RangingActivity.class);
                getActivity().startActivityForResult(in, 1);


            }

        });


}
@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        rangeValue.setText("CALLED");
    }

}
RangingActivity.java

public class RangingActivity extends Activity
@Override
    protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_ranging);

            Intent returnIntent = new Intent();
            returnIntent.putExtra("result", firstBeacon.toString());
            setResult(RESULT_OK, returnIntent);
            finish();
 }
}
更新

使用PeopleActivity片段的活动:

public class DrawerFrontActivity extends SherlockFragmentActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        bar = getSupportActionBar();
        Drawable myIcon = getResources().getDrawable( R.drawable.bluebar);
        bar.setBackgroundDrawable(myIcon);

        SherlockFragment fragment;
        fragment = new PeopleActivity();

        FragmentTransaction transaction =    getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.rlDrawerHome, fragment);       
        transaction.commit();

        setTitle("Home");
        bar.setTitle("Home");
}
}

似乎您正在调用
getActivity().startActivityForResult(in,1)将结果传递回活动,而不是将其自身分割

尝试使用
PeopleActivity.this.startActivityForResult(in,1),这应该将结果传递回片段

有关更多详细信息,请参阅此答案: 找到了答案。
问题是因为我没有在片段活动DrawerFrontActivity中调用super.onactivityresult。因此

发布目标类的setResult()代码,即RangingActivity。用目标类更新。我省略了OnPause、OnDestroy等默认方法,因为我没有对这些函数进行任何更改?恐怕这会破坏活动的生命周期。您是否可以添加一个按钮,并在单击该按钮时测试它是否工作?或者,您可以尝试在onResume()中执行此代码段。这不起作用。我尝试了PeopleActivity.this.startActivityForResult(in,1);你能发布一个使用“PeopleActivity”片段的活动的代码吗?我已经用你要求的代码片段更新了这个问题。我想你也可以发布清单来帮助其他人帮助你。我已经根据你发布的代码创建了一个快速复制项目。看来我修复的项目确实有效。试着将代码与您自己的项目进行比较,但现在我假设问题出在代码的其他部分,而这些部分并没有发布在这里。