大家好,我想从我的应用程序中打开设置的“文本转语音输出”片段。我认为首先需要打开设置活动,然后再打开它的片段。我尝试设置ComponentName
,但它无法找到该活动。
我应该使用FragmentManager
吗?我没有找到任何特定于我的需求的内容。有人能给我一些可能解释得很好的链接吗?
大家好,我想从我的应用程序中打开设置的“文本转语音输出”片段。我认为首先需要打开设置活动,然后再打开它的片段。我尝试设置ComponentName
,但它无法找到该活动。
我应该使用FragmentManager
吗?我没有找到任何特定于我的需求的内容。有人能给我一些可能解释得很好的链接吗?
你说得对,首先您需要启动Activity,然后在FragmentPager / Manager中设置当前Fragment... 没有从Activity启动某个外部fragment的方法,因为这样做会导致应用程序中出现僵尸片段(或者我不知道有没有这样的方法)。
1. 您可以使用带有一些参数的Activity Intent来调用Fragment名称,例如整数、布尔等...
Intent intent = new Intent(this,SecondActivity.class);
intent.putExtra("fragmentNumber",1); //for example
startActivity(intent);
在第二个活动的OnCreate方法中检查传递的值,并将所需的片段设置在顶部.. 在OnCreate方法内
if(getIntent().getIntExtra("fragmentNumber",0)==1){
//set the desired fragment as current fragment to fragment pager
}
然而,我遇到的问题是无法找到该活动。您是否在清单文件中输入了活动?如果有问题,请发布完整的堆栈跟踪。Intent ttsSettings = new Intent("com.android.settings.TTS_SETTINGS");
ttsSettings.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(ttsSettings);