- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编程新手。我对上面的过滤器错误有疑问。
我收到如下所示的错误。我已经尝试了几个星期,但仍然不知道如何解决它。
Too many arguments for public constructor adapterState(listState: List) defined in com.e.shoppingmallfooddrink.adapterState
package com.e.shoppingmallfooddrink
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
import android.widget.SimpleAdapter
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
class MainActivity : AppCompatActivity() {
private lateinit var recyclerView: RecyclerView
private lateinit var viewAdapter: RecyclerView.Adapter<*>
private lateinit var viewManager: RecyclerView.LayoutManager
private lateinit var stateSearch: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
stateSearch = findViewById(R.id.stateSearch)
viewManager = GridLayoutManager(this, 2)
viewAdapter = adapterState(stateFlag.listState)
recyclerView = findViewById<RecyclerView>(R.id.recycleViewState).apply {
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
setHasFixedSize(true)
// use a linear layout manager
layoutManager= viewManager
// specify an viewAdapter (see also next example)
adapter = viewAdapter
}
addTextListener()
}
private fun addTextListener() {
stateSearch.addTextChangedListener( object: TextWatcher{
override fun afterTextChanged(s: Editable?) {
TODO("Not yet implemented")
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
TODO("Not yet implemented")
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
var s=s.toString().toLowerCase()
data class filteredList (var name: String, var photo: String)
for (i in 0 until stateFlag.listState.size) {
val text: String = stateFlag.listState[i].name
if (text.contains(s)) {
filteredList(stateFlag.listState[i].name,stateFlag.listState[i].photo)
}
}
recyclerView.setLayoutManager(LinearLayoutManager(this@MainActivity))
viewAdapter = adapterState(filteredList, this@MainActivity)
recyclerView.setAdapter(viewAdapter)
viewAdapter.notifyDataSetChanged() // data set changed
}
}
)
}
}
适配器
package com.e.shoppingmallfooddrink
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import kotlinx.android.synthetic.main.grid_view_state.view.*
class adapterState (val listState:List<stateData>):
RecyclerView.Adapter<adapterState.MyViewHolder>()
{
inner class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun setDataState(listDM: stateData){
Glide.with(itemView.context)
.load(listDM.photo)
.into(itemView.listPhotoState)
itemView.listTextState.text = listDM.name
}
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val listState = listState[position]
holder.setDataState(listState)
}
override fun getItemCount() = listState.size
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val textView = LayoutInflater.from(parent.context)
.inflate(R.layout.grid_view_state, parent, false)
return MyViewHolder(textView)
}
}
数据类
package com.e.shoppingmallfooddrink
data class stateData (var name: String, var photo: String)
object stateFlag {
val listState = listOf<stateData>(
stateData("Selangor","https://www.crwflags.com/fotw/images/m/my-selan.gif"),
stateData("Kuala Lumpur","https://www.crwflags.com/fotw/images/m/my-kl.gif"),
stateData("Malacca","https://www.crwflags.com/fotw/images/m/my-melak.gif"),
stateData("Johor","https://www.crwflags.com/fotw/images/m/my-01.gif"),
stateData("Penang", "https://www.crwflags.com/fotw/images/m/my-p.gif"),
stateData("Pahang","https://www.crwflags.com/fotw/images/m/my-pahan.gif"),
stateData("Kedah","https://www.crwflags.com/fotw/images/m/my-kd.gif"),
stateData("Kelantan","https://www.crwflags.com/fotw/images/m/my-kelan.gif"),
stateData("Negeri Sembilan","https://www.crwflags.com/fotw/images/m/my-neger.gif"),
stateData("Perak","https://www.crwflags.com/fotw/images/m/my-perak.gif"),
stateData("Perlis","https://www.crwflags.com/fotw/images/m/my-perli.gif"),
stateData("Sabah","https://www.crwflags.com/fotw/images/m/my-sabah.gif"),
stateData("Sarawak","https://www.crwflags.com/fotw/images/m/my-saraw.gif"),
stateData("Trengganu","https://www.crwflags.com/fotw/images/m/my-teren.gif"),
stateData("Putrajaya","https://www.crwflags.com/fotw/images/m/my-pj.gif"),
stateData("Labuan","https://www.crwflags.com/fotw/images/m/my-la.gif")
)
}
最佳答案
该错误给出了确切的问题。 Too many arguments for public constructor adapterState(listState: List)
.构造函数只接受一个参数
class adapterState (val listState:List<stateData>)
viewAdapter = adapterState(filteredList, this@MainActivity)
this@MainActivity
争论。
关于kotlin - 错误(公共(public)构造函数适配器状态(listState List,stateData>)没有伴随对象和太多参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61849668/
我正在实现具有大状态(可能不适合内存)的自定义运算符。为此,我正在尝试使用 ListState。 我在用 checkpointedState = context.getOperatorStateSto
我们有一个包含交易的非键控数据流和一个包含规则的广播流。事实上,我们希望根据最后看到的规则来处理交易。如果我们最后看到的规则是每日,我们必须将当前交易添加到每日TrnsList。此外,如果 daily
我希望 RecyclerView 在设备旋转时保留其位置。 我有 4 个类(2 个 Activity 和 2 个 ViewModel),名称为 MainActivity , FavouritesAct
我正在为 Apache Flink 1.4 中的 processElement 函数编写一些测试代码: public class ProcessFunctionClass { public v
我是编程新手。我对上面的过滤器错误有疑问。 我收到如下所示的错误。我已经尝试了几个星期,但仍然不知道如何解决它。 Too many arguments for public constructor a
截至Jetpack Compose 1.0.0-alpha09 LazyColumn , LazyColumnForIndexed ,并且不推荐使用行对应项。 LazyColumn怎么样使用过、在哪里
我是一名优秀的程序员,十分优秀!