Android 如何从另一个活动更改viewpager中的片段?

Android 如何从另一个活动更改viewpager中的片段?,android,Android,案例: 我有一个在MainActivity中有3个片段的viewpager,片段3有一个按钮,可以打开一个activity Act Act有一个按钮,按下时我想关闭Act并调用MainActivity中的viewPager.setCurrentItem1 我该怎么做?我试图覆盖3的onResume方法并调用main.doSomething,它成功了,但每次打开3时都会调用onResume 谢谢最好将片段3中的按钮编码为使用startActivityForResult,而不仅仅是开始一个意图 在片

案例: 我有一个在MainActivity中有3个片段的viewpager,片段3有一个按钮,可以打开一个activity Act

Act有一个按钮,按下时我想关闭Act并调用MainActivity中的viewPager.setCurrentItem1

我该怎么做?我试图覆盖3的onResume方法并调用main.doSomething,它成功了,但每次打开3时都会调用onResume


谢谢

最好将片段3中的按钮编码为使用startActivityForResult,而不仅仅是开始一个意图

在片段3中的按钮中执行此操作

public static final int ACTRESULT = 1;
Intent i = new Intent(this,ActActivity.class);
startActivityForResult(i, ACTRESULT );
在Act活动的按钮中

//Do whatever you want to do
//and close Activity Act like this
mIntent = getIntent();
setResult(RESULT_OK, mIntent );
finish();
回到片段3中的按钮,因此需要添加以下方法

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case TWEET_SELECT:
        if (resultCode == Activity.RESULT_OK) {
           //Here you can do what you want when the Activity Act has been closed and 
           //the application returns to fragment #3
                         }
            }
}

片段可以通过回调接口与其父活动通信。