Не может с намерением перейти от составной функции одного действия к другому действию.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не может с намерением перейти от составной функции одного действия к другому действию.

Сообщение 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) }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»