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

时间:2013-11-08 19:27:27

标签: android

案例: 我有一个包含3个片段的viewpager(在MainActivity中),片段#3有一个打开活动法的按钮。

Act有一个按钮,按下时我要关闭Act并在MainActivity中调用viewPager.setCurrentItem(1)。

我该怎么做?我试图覆盖#3的onResume()方法并调用main.doSomething(),它可以工作,但每次打开#3时都会调用onResume()!

感谢

1 个答案:

答案 0 :(得分:0)

最好你编写片段#3中的按钮来使用startActivityForResult()而不是仅仅启动一个意图。

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

public static final int ACTRESULT = 1;
Intent i = new Intent(this,ActActivity.class);
startActivityForResult(i, ACTRESULT );

在法案活动中的按钮

//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
                         }
            }
}