Не может с намерением перейти от составной функции одного действия к другому действию. ⇐ Android
-
Anonymous
Не может с намерением перейти от составной функции одного действия к другому действию.
У меня есть два действия с разными функциями навигации по ним, но как перейти к функции, которая не является частью этого действия. Я не могу перемещаться с помощью намерений, а также с помощью навигации не могу перемещаться, поскольку функции являются частью разных действий.
Я хочу перейти от функции, которая является частью StartActivity, к MainActivity, но я получил ошибку: Вызовы @Composable могут происходить только из контекста функции @Composable
Вот моя основная деятельность:
@AndroidEntryPoint класс MainActivity : ComponentActivity() { частный вал startViewModel: StartViewModel от viewModels() частный val viewModel: TabBarViewModel от viewModels() переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val navController: NavHostController = RememberNavController() NavHost( navController = navController, startDestination = Screen.Introduction.route ) { составной (Screen.BottomNavigationScreen.route) { Нижний экран навигации() } } } } } Другое действие
@AndroidEntryPoint класс StartActivity : ComponentActivity() { частный val viewModel: StartViewModel от viewModels() переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val startDestination = если (AppPreferences.hasSeenIntro) { val намерение = Intent(this, MainActivity::class.java) startActivity (намерение) возвращаться } еще если (AppPreferences.hasDownloadedContent) { Экран.Введение.маршрут } еще { Screen.SelectLanguage.route } setContent { val navController: NavHostController = RememberNavController() NavHost( navController = navController, startDestination = startDestination ) { составной (Screen.Start.route) { Старт (navController, viewModel) } составной (Screen.CheckWhere.route) { CheckWheretoGo (навконтроллер) } составной (Screen.SelectLanguage.route) { SelectLanguage (навконтроллер) } составной (Screen.Introduction.route) { ВведениеЭкран (navController) } } } } Теперь внутри моей компонуемой функции «Введение»:
@Composable Введение(){ IconButton(onClick = { if (selectedPosition + 1 == items.size) { контекст val = LocalContext.current val намерение = намерение (контекст, MainActivity::class.java) намерение.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }
У меня есть два действия с разными функциями навигации по ним, но как перейти к функции, которая не является частью этого действия. Я не могу перемещаться с помощью намерений, а также с помощью навигации не могу перемещаться, поскольку функции являются частью разных действий.
Я хочу перейти от функции, которая является частью StartActivity, к MainActivity, но я получил ошибку: Вызовы @Composable могут происходить только из контекста функции @Composable
Вот моя основная деятельность:
@AndroidEntryPoint класс MainActivity : ComponentActivity() { частный вал startViewModel: StartViewModel от viewModels() частный val viewModel: TabBarViewModel от viewModels() переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val navController: NavHostController = RememberNavController() NavHost( navController = navController, startDestination = Screen.Introduction.route ) { составной (Screen.BottomNavigationScreen.route) { Нижний экран навигации() } } } } } Другое действие
@AndroidEntryPoint класс StartActivity : ComponentActivity() { частный val viewModel: StartViewModel от viewModels() переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val startDestination = если (AppPreferences.hasSeenIntro) { val намерение = Intent(this, MainActivity::class.java) startActivity (намерение) возвращаться } еще если (AppPreferences.hasDownloadedContent) { Экран.Введение.маршрут } еще { Screen.SelectLanguage.route } setContent { val navController: NavHostController = RememberNavController() NavHost( navController = navController, startDestination = startDestination ) { составной (Screen.Start.route) { Старт (navController, viewModel) } составной (Screen.CheckWhere.route) { CheckWheretoGo (навконтроллер) } составной (Screen.SelectLanguage.route) { SelectLanguage (навконтроллер) } составной (Screen.Introduction.route) { ВведениеЭкран (navController) } } } } Теперь внутри моей компонуемой функции «Введение»:
@Composable Введение(){ IconButton(onClick = { if (selectedPosition + 1 == items.size) { контекст val = LocalContext.current val намерение = намерение (контекст, MainActivity::class.java) намерение.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }
Мобильная версия