如何在Jetpack Compose中访问上下文来创建文件目录?



我正在使用这个createDir()函数来创建目录,但要从可组合函数中调用它,我需要在MainActivity之外采取函数,不幸的是,因为applicationContext它不起作用。

class MainActivity : ComponentActivity() {
   fun createDir() {
       val path = applicationContext.filesDir
       val letDirectory = File(path, "TestDir")
       val resultMkdirs: Boolean = letDirectory.mkdirs()
   }
   ...
}

这就是我想做的。

fun createDir() {
    val path = applicationContext.filesDir
    val letDirectory = File(path, "TestDir")
    val resultMkdirs: Boolean = letDirectory.mkdirs()
}

@Composable
fun someFunction() {
     ...        
     Button(
        onClick = {
            createDir()
        }   
      ) { ... }

您试过使用LocalContext吗?

LocalContext.current

修改后的代码:

fun createDir(context: Context){
    val path = context.filesDir
    val letDirectory = File(path, "TestDir")
    val resultMkdirs: Boolean = letDirectory.mkdirs()
}

@Composable
fun someFunction() {
    ...        
  
    val context = LocalContext.current
    Button(
      onClick = {
          createDir(context)
      }   
    ) { ... }

相关内容

  • 没有找到相关文章

最新更新