gpt4 book ai didi

android - 如何从对话框重定向到 fragment

转载 作者:行者123 更新时间:2023-11-29 15:48:12 26 4
gpt4 key购买 nike

我有一个警告对话框,如果用户没有警报,将用户发送到警报部分,对话框和警报部分在同一个 Activity 中,但 fragment 不同

我的对话框来自“LifeFragment.java”和“alarmsfragment.java”上的“alarmsfragment”

如何将用户发送到另一个 fragment ?

更新

有了这个,我告诉 Activity 从哪里开始:

    tabs.setViewPager(pager);
pager.setCurrentItem(2);

我必须做这样的事情吗?

Intent myIntent = new Intent(v.getContext(),
HomeScreenActivity.class);
myIntent.putExtra("1", ViewPager);

最佳答案

<强>1。从对话框中触发 Activity (如果尚未触发,则添加标志):

  • 定义新 Intent
Intent intent = new Intent(context, Activity.class);
  • 为额外的 Activity 定义键

  • 添加你想显示的 fragment

intent.putExtra(Activity.STRING_KEY, Activity.VALUE);
  • 火灾 Intent
context.startActivity(intent);

<强>2。当 Activity 加载时:

  • 在 Activity 中定义:
public static String STRING_KEY = "myKey";
public static String VALUE1 = "fragment1";
public static String VALUE2 = "fragment2";
private String _extra;
private int _fragmentNumber;
  • 在 onCreate(savedInstanceState) 中获取额外的 Intent
if(savedInstanceState != null) {
_extra = getIntent().getStringExtra(STRING_KEY); // or IntegerExtra(key)
}
  • 设置 viewpager [查找 View 、设置适配器(在 viewpager 上),例如使用 viewpager 等设置 tablayout]
ViewPager pager = (ViewPager) findViewById(R.id.pager);
pager.setAdapter(Adapter);

<强>3。在托管 Activity 中通过 viewpager 更改 fragment :

(例如,在收到“额外”时使用 if 或 switch 语句)

// if example:
if(_extra != null && _extra == VALUE) {
// change here fragment
pager.setCurrentItem(numberOfFragmentToShow)
}

// switch example:
switch(_extra){
case VALUE1:
_fragmentNumber = 1;
break;
case VALUE2
_fragmentNumber = 2
break;
default:
_fragmentNumber = 3;
}

pager.setCurrentItem(_fragmentNumber);

您可以使用整数值并直接在寻呼机上使用它,而不是字符串额外值

这里有详细的例子:

Selecting a specified page in ViewPager when starting

关于android - 如何从对话框重定向到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31735194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com