【发布时间】:2019-03-24 22:44:20
【问题描述】:
我是 Kotlin 语言的新手,所以我被困在我的项目中间。
问题 1:
我的本地目录中有一组图像文件(n...文件数),但我无法使用“For Loop”在图像视图中显示所有文件,因为 Kotlin For 循环完全不同,我无法正确理解。
MainActivity.kt
package com.cambarkro.kotlintest
import android.net.Uri
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.Toast
import com.bumptech.glide.Glide
import java.io.File
import java.util.*
import kotlin.collections.ArrayList
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val linearLayout = findViewById<LinearLayout>(R.id.linearLayoutid)
val imageView = ImageView(this)
val path = File(Environment.getExternalStorageDirectory().toString() + File.separator + "WhatsApp/Media/.Statuses/" )
val statusFilesAry = path.listFiles() // Storing files in array
if(path.exists())
{
if(statusFilesAry != null && statusFilesAry.size > 0 )
{
for(statusFile in statusFilesAry)
{
Glide
.with(this)
.load(statusFile)
.into(imageView)
//linearLayout.addView(imageView)
}
linearLayout.addView(imageView)
}
Toast.makeText(this, "path found", Toast.LENGTH_SHORT).show()
}
else
{
Toast.makeText(this, "path Not found", Toast.LENGTH_SHORT).show()
}
}
}
上面的代码只显示了一张图片。
问题 2:
从上面的 MainActivity.kt 代码中,有一个变量“statusFilesAry”,其中包含所有图像文件的数组。我需要按 lastmodified 对这些数组元素进行排序。
在 java 中,我们可以使用 Comparator 对其进行排序,但在 Kotlin 中?
【问题讨论】:
标签: android kotlin comparator android-glide