案例: 我有一个包含3个片段的viewpager(在MainActivity中),片段#3有一个打开活动法的按钮。
Act有一个按钮,按下时我要关闭Act并在MainActivity中调用viewPager.setCurrentItem(1)。
我该怎么做?我试图覆盖#3的onResume()方法并调用main.doSomething(),它可以工作,但每次打开#3时都会调用onResume()!
感谢
答案 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
}
}
}