@Composable
fun MailRoomInScreen(
webView: WebView,
mailRoomViewModel: MailroomViewModel,
navController: NavHostController
) {
val context = LocalContext.current
val mailRoomLogs by mailRoomViewModel.mailRoomLogs.collectAsState()
val type = "inTab"
val appNavigationActions = AppNavigationActions(navController)
// Initialize the WebView
val webView = remember {
WebView(context).apply {
settings.javaScriptEnabled = true
settings.domStorageEnabled = true
addJavascriptInterface(
MailRoomListInterface(navController, mailRoomViewModel, this, context),
"Android"
)
webViewClient = object : WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
val jsonData = convertToJson(mailRoomLogs, type)
view?.evaluateJavascript("showList($jsonData)") { result ->
Log.d("Result", result)
}
}
}
loadUrl(BaseUrls.ListUrl)
}
}
// Dispose of the WebView when the composable is removed from the composition
DisposableEffect(Unit) {
onDispose {
webView.loadData("", "text/html", "base64")
webView.destroy()
}
}
// Load mail room logs when the composable is first composed
LaunchedEffect(Unit) {
mailRoomViewModel.getMailRoomLogs()
}
// Display the WebView
AndroidView(
factory = { webView },
modifier = Modifier.fillMaxSize()
)
}
Aber wenn ich den Tab-Bildschirm durch einen einfachen zusammensetzbaren Text ersetze, verschwindet das Problem. Als ich die Dokumentation überprüfte, wurde mir Android Native Crash angezeigt, aber ich konnte das Problem immer noch nicht lösen.
Ich wollte vom aktuellen Bildschirm zurück navigieren, aber während ich das tat, es kommt zu einem Absturz.
Immer wenn ich versuche, vom untenstehenden Bildschirm zurück zu navigieren, kommt es zu einem Absturz. [code]@OptIn( ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class ) @Composable fun MailRoomScreen( navController: NavHostController, mailroomViewModel: MailroomViewModel = hiltViewModel() ) { val context = LocalContext.current val appNavigationActions = AppNavigationActions(navController) val webView = remember { WebView(context) } val tabs by mailroomViewModel.tabs.collectAsState() val pagerState = rememberPagerState( initialPage = 0, initialPageOffsetFraction = 0f, pageCount = { tabs.size } )
val scope = rememberCoroutineScope()
LaunchedEffect(tabs) { if (pagerState.currentPage !in tabs.indices) { pagerState.scrollToPage(0) } }
// Dispose of the WebView when the composable is removed from the composition DisposableEffect(Unit) { onDispose { webView.loadData("", "text/html", "base64") webView.destroy() } }
// Load mail room logs when the composable is first composed LaunchedEffect(Unit) { mailRoomViewModel.getMailRoomLogs() }
// Display the WebView AndroidView( factory = { webView }, modifier = Modifier.fillMaxSize() ) } [/code] Aber wenn ich den Tab-Bildschirm durch einen einfachen zusammensetzbaren Text ersetze, verschwindet das Problem. Als ich die Dokumentation überprüfte, wurde mir Android Native Crash angezeigt, aber ich konnte das Problem immer noch nicht lösen. Ich wollte vom aktuellen Bildschirm zurück navigieren, aber während ich das tat, es kommt zu einem Absturz.
Ich arbeite lokal an einer Django-App, die eine CSV-Datei als Eingabe verwenden und eine Analyse der Datei durchführen muss. Ich verwende Celery, RabbitMQ und den Webserver lokal. Wenn ich die Datei...
Ich habe ein neu installiertes Windows 11 auf dem neuesten Stand, sonst nichts anderes als das Betriebssystem. Dies ist für die lokale Bereitstellung von Azure erforderlich. Fatal error in launcher:...