从另一个活动中打开活动的片段

Har*_*han 6 android android-intent android-fragments start-activity

大家好我想从我的应用程序打开设置的"文本到语音输出"片段.我想首先我需要打开设置活动,然后打开它的片段.我尝试设置ComponentName但无法找到活动.

我应该用FragmentManager; 我找不到任何特定于我需要的东西.有人可以给我一些可能解释得很好的链接.

Ami*_*mit 15

你是对的,首先你需要启动Activity而不是在FragmentPager/Manager中设置当前的Fragment ...他们没有这样的方法从你的Activity中启动一些外来片段,这将是危险的,这将导致僵尸片段漂浮在周围应用程序(或者可能是我不知道...)

  1. 你用一些参数为Fragment名称调用Activity Intent,你想要启动ie interger,boolean等...

      Intent intent = new Intent(this,SecondActivity.class);
      intent.putExtra("fragmentNumber",1); //for example    
      startActivity(intent);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您检查Second Acitivty的OnCreate中传递的值并在顶部设置所需的片段..在OnCreate中

     if(getIntent().getIntExtra("fragmentNumber",0)==1){
       //set the desired fragment as current fragment to fragment pager
      }
    
    Run Code Online (Sandbox Code Playgroud)

但是我没有遇到问题"It was unable to locate the activity."你是否进入了最明显的文件中的活动而不是你面临的问题..请发布完整的堆栈跟踪..


ozb*_*bek 4

您可以使用以下内容:

Intent ttsSettings = new Intent("com.android.settings.TTS_SETTINGS");
ttsSettings.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(ttsSettings);
Run Code Online (Sandbox Code Playgroud)