无法锁定 Java 编译缓存,因为它已被此进程锁定

Bha*_*eri 5 java android kotlin android-recyclerview

我的代码没有任何运行时错误,但有上述编译时错误 我正在使用 recyclerview 这是我的代码 MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        recyclerView.layoutManager= LinearLayoutManager(this)
        val items=fetchData()
        val adapter=NewsListAdapter(items)
        recyclerView.adapter=adapter
    }
    fun fetchData():ArrayList<String>{
        val list=ArrayList<String>()
        for (i in 1 until 100){
            list.add("Items $i")
        }
        return list
    }
}
Run Code Online (Sandbox Code Playgroud)

新闻列表适配器.kt

class NewsListAdapter(private val items: ArrayList<String>) : RecyclerView.Adapter<NewsViewHolder>() {
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NewsViewHolder {
        val view =LayoutInflater.from(parent.context).inflate(R.layout.items_news,parent,false)
        return NewsViewHolder(view)
    }

    override fun onBindViewHolder(holder: NewsViewHolder, position: Int) {
        val currentitem=items[position]
        holder.titletext.text = currentitem
    }

    override fun getItemCount(): Int {
        return  items.size
    }
}

class NewsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
    val titletext: TextView =itemView.findViewById(R.id.textView)
}
Run Code Online (Sandbox Code Playgroud)

小智 5

此错误通常意味着之前的 gradle 进程未正确完成并且仍然保留在内存中。
对于Windows,它帮助我在任务管理器中找到过多的java进程并杀死它们。它们通常隐藏在您的 IDE 父进程下。 对于 Linux,您可以按照此处
所述进行操作。通过以下方式查找这些进程:

ps -ef | grep gradle
Run Code Online (Sandbox Code Playgroud)

并使用kill来阻止他们。