From 939d402d8c226f8d95ad227b8dd3d77e13cd8638 Mon Sep 17 00:00:00 2001 From: dongliang Date: Mon, 11 May 2026 13:20:46 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E7=BB=91=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E6=94=B9=E7=94=A8NavHostFragment=E6=96=B9=E5=BC=8F=E8=8E=B7?= =?UTF-8?q?=E5=8F=96NavController?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FragmentContainerView上findNavController(viewId)有兼容性问题, 改为通过supportFragmentManager获取NavHostFragment再取navController。 Co-Authored-By: Claude Opus 4.6 (1M context) --- app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt index cd34475..64107b2 100644 --- a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt +++ b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt @@ -4,7 +4,7 @@ import android.content.pm.ActivityInfo import android.os.Bundle import android.view.MotionEvent import android.view.View -import androidx.navigation.findNavController +import androidx.navigation.fragment.NavHostFragment import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.AppCompatActivity import com.xiaoqu.watch.R @@ -127,10 +127,11 @@ class MainActivity : AppCompatActivity() { bluetoothScanManager.stop() userPrefs.clear() try { - findNavController(R.id.nav_host_fragment) - .navigate(R.id.action_global_to_bind) + val navHost = supportFragmentManager + .findFragmentById(R.id.nav_host_fragment) as NavHostFragment + navHost.navController.navigate(R.id.action_global_to_bind) } catch (e: Exception) { - Timber.w(e, "MainActivity: 解绑导航异常") + Timber.e(e, "MainActivity: 解绑导航异常") } } }