【问题标题】:How to show time picker with Jetpack compose?如何使用 Jetpack compose 显示时间选择器?
【发布时间】:2022-11-06 20:04:15
【问题描述】:

如何使用 jet compose 显示材料时间选择器?

实现'androidx.compose.material3:material3:1.0.0-alpha02'
实施 'com.google.android.material:material:1.6.0-alpha01'

我收到一条错误消息未解决的参考:supportFragmentManager

  val context = LocalContext.current
                        //Creating a MaterialDatePicker.Builder instance that gives us a single date selector.
                        val builder : MaterialDatePicker.Builder<*> = MaterialDatePicker.Builder.datePicker() // 1
                        //Building-up the MaterialDatePicker by calling a builder.build function
                        val picker : MaterialDatePicker<*> = builder.build()  // 2
                        //Display the Material Date Picker.
                        picker.show(context.supportFragmentManager, picker.toString())   // 3

【问题讨论】:

    标签: android android-jetpack-compose android-jetpack-compose-material3


    【解决方案1】:

    .supportFragmentManager 是 AppCompatActivity 的一部分,而不是 Context 本身。您需要将 LocalContext.current 强制转换为您的 Composable 所在的 Activity。请注意,您的 Activity 可能会扩展 ComponentActivity 而不是 AppCompatActivity,您需要对其进行更改。

    class MainActivity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContent {
                ...
            }
        }
    }
    
    val supportFragmentManager = (LocalContext.current as MainActivity).supportFragmentManager
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-18
      • 2022-06-10
      • 2021-08-04
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多