我有一个标签式活动,侧边栏有4个部分。
当我从另一个活动对此活动进行Intent时,我希望它在第四部分打开,而不是在第一部分打开(默认)。
如何将其更改为在第四部分打开?
答案 0 :(得分:0)
试试这个:
当你从另一个活动发送一个意图时,将一个布尔包与该意图放在一起,当你在活动中接收意图时检查bundle是否为true,如果是,则打开你的第四个部分。
您的发送活动
Bundle bundle=new Bundle();
bundle.putBoolean("fourthSection",true);
startActivity(new Intent(currentActivity.this,otherActivity.class).putExtras(bundle));
您的接收活动
Bundle bundle=getIntent.getExtras();
if(bundle.getBoolean("fourthSection")){
//go to your fourth section
}
答案 1 :(得分:0)
这就是你要做的事情:
public class OtherActivityThatHasYourTabs ... {
public static final String TAB_INDEX_KEY = "tab_index";
...
}
拥有一个名为TAB_INDEX_KEY
的密钥。这是您获取和设置要在这两个活动之间传递的选项卡索引的方式。
在你的"当前"活动,这样做:
Intent otherActivity = new Intent(CurrentActivity.this,OtherActivityThatHasYourTabs.class);
otherActivity.putExtra(OtherActivityThatHasYourTabs.TAB_INDEX_KEY,4);
startActivity(otherActivity);
在OtherActivityThatHasYourTabs
中,您可以检索用于通过Intent
启动它的getIntent()
。所以,你这样做:
Intent intent = getIntent();
Bundle extras = intent.getExtras();
int tabIndex = extras.getInt(TAB_INDEX_KEY);
if( tabIndex != 0 ){
yourMethodToDisplayTabAtIndex( tabIndex );
}
从1
开始编制索引,因为如果无法找到传递给getInt()
的密钥,则0
会返回getInt()
。
使用int
可以提供更高的清洁度和灵活性,因为您只管理一个密钥,如果您添加了更多标签,则可以增加索引。