fix: 解绑导航改用NavHostFragment方式获取NavController
FragmentContainerView上findNavController(viewId)有兼容性问题, 改为通过supportFragmentManager获取NavHostFragment再取navController。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@ import android.content.pm.ActivityInfo
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.fragment.NavHostFragment
|
||||||
import androidx.activity.OnBackPressedCallback
|
import androidx.activity.OnBackPressedCallback
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.xiaoqu.watch.R
|
import com.xiaoqu.watch.R
|
||||||
@@ -127,10 +127,11 @@ class MainActivity : AppCompatActivity() {
|
|||||||
bluetoothScanManager.stop()
|
bluetoothScanManager.stop()
|
||||||
userPrefs.clear()
|
userPrefs.clear()
|
||||||
try {
|
try {
|
||||||
findNavController(R.id.nav_host_fragment)
|
val navHost = supportFragmentManager
|
||||||
.navigate(R.id.action_global_to_bind)
|
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
|
||||||
|
navHost.navController.navigate(R.id.action_global_to_bind)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Timber.w(e, "MainActivity: 解绑导航异常")
|
Timber.e(e, "MainActivity: 解绑导航异常")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user