如何使用来自另一个 activity 的意图在选项卡式 activity 中打开一个部分?
How to open a section in a tabbed activity using an intent from another activity?
我有一个带有 4 个部分的边栏的选项卡 Activity。
当我从另一个 activity 到这个 activity 执行 Intent 时,我希望它在第四部分打开,而不是在第一部分(默认设置)。
如何更改为在第四部分打开?
试试这个:
当您从另一个 activity 发送一个意图时,将一个布尔值包与该意图放在一起,当在您的 activity 上接收到意图时,检查包是否为真,如果是,请打开您的第四部分。
您的发送activity
Bundle bundle=new Bundle();
bundle.putBoolean("fourthSection",true);
startActivity(new Intent(currentActivity.this,otherActivity.class).putExtras(bundle));
您的接收activity
Bundle bundle=getIntent.getExtras();
if(bundle.getBoolean("fourthSection")){
//go to your fourth section
}
这就是您的做法:
public class OtherActivityThatHasYourTabs ... {
public static final String TAB_INDEX_KEY = "tab_index";
...
}
有一个名为 TAB_INDEX_KEY
的密钥。这就是您如何获取和设置要在这两个活动之间传递的选项卡索引。
在您的 "current" activity 中,执行此操作:
Intent otherActivity = new Intent(CurrentActivity.this,OtherActivityThatHasYourTabs.class);
otherActivity.putExtra(OtherActivityThatHasYourTabs.TAB_INDEX_KEY,4);
startActivity(otherActivity);
在您的 OtherActivityThatHasYourTabs
中,您可以检索用于通过 getIntent()
启动它的 Intent
。所以,你会这样做:
Intent intent = getIntent();
Bundle extras = intent.getExtras();
int tabIndex = extras.getInt(TAB_INDEX_KEY);
if( tabIndex != 0 ){
yourMethodToDisplayTabAtIndex( tabIndex );
}
从 1
开始索引,因为 getInt()
returns 0
如果找不到传递给 getInt()
的键。
使用 int
可以让您更加简洁和灵活,因为您只管理一个键,如果您添加更多选项卡,您可以增加索引。
我有一个带有 4 个部分的边栏的选项卡 Activity。
当我从另一个 activity 到这个 activity 执行 Intent 时,我希望它在第四部分打开,而不是在第一部分(默认设置)。
如何更改为在第四部分打开?
试试这个:
当您从另一个 activity 发送一个意图时,将一个布尔值包与该意图放在一起,当在您的 activity 上接收到意图时,检查包是否为真,如果是,请打开您的第四部分。
您的发送activity
Bundle bundle=new Bundle();
bundle.putBoolean("fourthSection",true);
startActivity(new Intent(currentActivity.this,otherActivity.class).putExtras(bundle));
您的接收activity
Bundle bundle=getIntent.getExtras();
if(bundle.getBoolean("fourthSection")){
//go to your fourth section
}
这就是您的做法:
public class OtherActivityThatHasYourTabs ... {
public static final String TAB_INDEX_KEY = "tab_index";
...
}
有一个名为 TAB_INDEX_KEY
的密钥。这就是您如何获取和设置要在这两个活动之间传递的选项卡索引。
在您的 "current" activity 中,执行此操作:
Intent otherActivity = new Intent(CurrentActivity.this,OtherActivityThatHasYourTabs.class);
otherActivity.putExtra(OtherActivityThatHasYourTabs.TAB_INDEX_KEY,4);
startActivity(otherActivity);
在您的 OtherActivityThatHasYourTabs
中,您可以检索用于通过 getIntent()
启动它的 Intent
。所以,你会这样做:
Intent intent = getIntent();
Bundle extras = intent.getExtras();
int tabIndex = extras.getInt(TAB_INDEX_KEY);
if( tabIndex != 0 ){
yourMethodToDisplayTabAtIndex( tabIndex );
}
从 1
开始索引,因为 getInt()
returns 0
如果找不到传递给 getInt()
的键。
使用 int
可以让您更加简洁和灵活,因为您只管理一个键,如果您添加更多选项卡,您可以增加索引。