【发布时间】:2016-12-12 20:13:51
【问题描述】:
我有一个 MainActivity,我正在使用 android.support.design.widget.TabLayout 作为带有 Viewpager 的 tabview。
现在如果我在其他活动中,如果我想从这个活动中转到 MainActivity 的第三个选项卡,如何实现这一点。
提前致谢。
【问题讨论】:
标签: android android-viewpager android-tablayout
我有一个 MainActivity,我正在使用 android.support.design.widget.TabLayout 作为带有 Viewpager 的 tabview。
现在如果我在其他活动中,如果我想从这个活动中转到 MainActivity 的第三个选项卡,如何实现这一点。
提前致谢。
【问题讨论】:
标签: android android-viewpager android-tablayout
执行以下操作。
在MainActivity类的onCreate方法初始化tabLayout后写下代码
int index = getIntent().getIntExtra("SelectedIndex",0);
tabLayoutObject.getTabAt(index).select();
从你想重定向到MainActivity的地方写下
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("SelectedIndex",2) //what ever the index is
startActivity(intent);
希望这对你有用
【讨论】:
您可以使用某种值返回第一个活动,这表明您需要转到第三个选项卡 在 on create 中,您将检查该值是否在意图 getextra 如果是的话-去第三个 else - 定期继续
【讨论】:
您可以在创建活动之前 putExtra 并在第二个活动中获取它。
【讨论】:
您必须在进入 SecondActivity 时使用 startActivityForResult()。
当您使用 startActivityForResult 时,您可以使用 setResult() 在 firstActivity 中获得通知;
在 FirstActivity 中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
if(requestCode == 0){
if(data!=null && data.getExtras()!=null){
final int position = data.getIntExtra("key_position",-1);
if(position !=-1){
tabLayout.getTabAt(position).select();
}
}
}
}
}
在 SecondActivity 中:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Intent intent = new Intent();
intent.putExtra("key_position",3);
setResult(RESULT_OK,intent);
finish();
}
});
它会帮助你。
【讨论】: