从其他 Activity 调用 Activity 的选项卡
Calling tab of a Activity from other Activity
我有一个 MainActivity 并且我正在使用 android.support.design.widget.TabLayout 作为带有 Viewpager 的 tabview。
现在,如果我在其他 activity 中,如果我想从这个 activity 转到 MainActivity 的第 3 个选项卡,如何实现。
提前致谢。
您可以 return 使用某种值进入第一个活动,这表明您需要转到第三个选项卡
在创建时,您将检查该值是否在意图 getextra 中
如果是-转到第三个
else-continue regulary
您可以在创建 activity 之前添加 Extra 并在第二个 activity 中获取它。
执行以下操作。
在 MainActivity
class 在 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);
希望这对你有用
您必须在转到 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();
}
});
它会帮助你。
我有一个 MainActivity 并且我正在使用 android.support.design.widget.TabLayout 作为带有 Viewpager 的 tabview。
现在,如果我在其他 activity 中,如果我想从这个 activity 转到 MainActivity 的第 3 个选项卡,如何实现。
提前致谢。
您可以 return 使用某种值进入第一个活动,这表明您需要转到第三个选项卡 在创建时,您将检查该值是否在意图 getextra 中 如果是-转到第三个 else-continue regulary
您可以在创建 activity 之前添加 Extra 并在第二个 activity 中获取它。
执行以下操作。
在 MainActivity
class 在 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);
希望这对你有用
您必须在转到 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();
}
});
它会帮助你。