Tag: android recyclerview

我似乎无法得到我的Kotlin回收多重查看代码整理出来

所以我知道这是代码升降,但我有问题得到我的RecyclerView在一个片段排序出来。 我读过一大堆教程,每个人似乎都有不同的做事方式。 只是不能把它钉死…所以这里是我的代码: FRAGMENT XML <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.xxxx.listview.CalendarFragment"> <android.support.v7.widget.RecyclerView android:id="@+id/event_recycle" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="horizontal" /> </FrameLayout> 数据类 data class SectionOrRow(var needTicketing:String?,var eventSponsor:String?,var eventED:String?,var eventSD:String?,var eventTitle:String?,var mysectionName:String?,var isRow:Boolean){ companion object { public fun createRow(row: String): Unit { // val ret = SectionOrRow() // return ret } public fun createSection(section: String): Unit { // val […]

Kotlin类型不匹配:推断类型是查看! 但TextView是预期的

美好的一天! 在Android Studio 3.0使用Kotlin 1.1.51,针对Android API 26创建具有下一个ViewHolder RecyclerView ,但在构建项目时收到错误: 类型不匹配:推断类型是查看! 但TextView是预期的 所以我找不到TextView直接到ViewHolder变量,但发现周围的方式 – 查找视图和之后, as TextView投入,你可以看到holder.的代码holder. TextView中。 看起来不太好,所以有解决方案如何防止这个错误,或者它是一个错误? RecyclerView的代码: override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): VH { val view = LayoutInflater.from(parent.context) .inflate(R.layout.custom_item_view, parent, false) return VH(view) } override fun onBindViewHolder(holder: VH, position: Int) { val event: TimelineEvent = items[position] // does not work because of […]

RecyclerView项目动画,onAnimationFinished调用,但不是onAnimationStarted。 为什么?

我将myRecyclerView分配给myRecyclerView ,如下(在Kotlin中),以便我可以听动画的开始和结束事件。 myRecyclerView.itemAnimator = object : DefaultItemAnimator() { override fun onAnimationFinished(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am finished") } override fun onAnimationStarted(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am started") } } 我使用DiffUtil来发送更改。 动画工作正常。 但是只有onAnimationFinished回调被调用,而不是onAnimationStarted 。 我错过了什么?

使用Android数据绑定在Kotlin中初始化RecyclerView会引发错误。 我究竟做错了什么?

描述 我正尝试在Kotlin中使用Android数据绑定的RecyclerView设置Android屏幕。 我有一个活动,其中包含一个片段和片段包含一个RecyclerView,我初始化与数据绑定。 问题是,当我尝试设置我的回收视图的布局管理器应用程序抛出一个IllegalStateException抱怨指定的孩子(我假设它意味着无论是RecyclerView或LayoutManager)已经有一个父母,我需要运行removeView )。 我试图从RecyclerView中删除所有视图,但无济于事。 这是我的活动: class HomeActivity : BaseActivity() { private lateinit var mBinding: ActivityHomeBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mBinding = DataBindingUtil.setContentView(this, R.layout.activity_home) if(savedInstanceState != null){ return } val fragment = HomeFragment.newInstance() supportFragmentManager.beginTransaction().add(R.id.home_fragment_container, fragment).commit() } } 这是我的片段: class HomeFragment : BaseFragment() { private lateinit var mBinding: FragmentHomeBinding private lateinit var mRecyclerView: […]

为什么Intent构造函数在伴随对象中是不可见的? Kotlin

class MainActivity : AppCompatActivity() { companion object { fun makeIntent(pos : Int) { println("${pos} is here!") var intent = Intent(this, DetailActivity::class.java) if (intent != null) { println("intent is not null in makeIntent function") } else { println("intent is null in makeIntent function") } } } … } 在做var intent = Intent(…)时候没有看到Intent。 为什么?

Android RecyclerView使用Kotlin处理数据:修改后的行切换索引

我正在Kotlin编写我的第一个Android项目,并与recyclerView很难。 MutableList <String>用作我的适配器的数据源,并具有编辑模式和正常模式。 onCreateViewHolder()用内部的editText膨胀一个视图,然后创建一个视图持有者来保存这个视图。 ViewHolder有一个包含我的逻辑的函数bindSkill()。 onBindViewHolder()调用viewHolder.bindSkill() bindSkill()具有在EditMode和Normal Mode之间转换的逻辑。 当我将EditMode设置为true时,应该发生三件事情: EditText字段应该设置为.isEnable = true(允许用户编辑文本字段) 应该将EditText字段的背景设置为.background = R.drawable.m_gray_border(向用户显示文本字段) 从mStringMutableList加载文本(如果需要?) 当再次按下时,倒过程应该运行(有一些修改: EditText字段应该设置为.isEnable = false EditText字段应该将背景设置为.background = null(隐藏文本字段边框) 保存来自mStringMutableList的文本(如果需要?) 使用•%1 $ s格式化字符串以制作项目符号列表 问题 当用我的数据加载适配器时,它将被编辑文本字段中的空字符串覆盖。 另外,当我进入编辑模式,并更改文本字段的recycleView行开始切换的地方。 文本按预期更改并存储和格式化,但会移至新索引。 如果你填写所有的文本字段,他们将被颠倒,但是如果你只改变了几个,他们就会随机地改变位置。 这种问题有没有普遍的做法? 它接缝很简单,但我不能弄明白。 任何帮助表示赞赏! 代码 活动: class ProfileActivity : BaseActivity() { private lateinit var recyclerViewProfile: RecyclerView private lateinit var linearLayoutManager: LinearLayoutManager private lateinit var […]

与Kotlin的RecyclerView不垂直铺设细胞

即使期望的4行通过ViewHolder ,我的列表只显示一行数据。 RecyclerView , RecyclerView.Adapter和RecyclerView.ViewHolder都按我所期望的AFAICT工作。 我看到正确的4行数据通过绑定函数。 但是,我只在列表中看到一行。 就好像LinearLayoutManager没有正确地布局垂直方向的单元格。 我不确定错过了什么。 class SongListFragment : Fragment() { private lateinit var mediaProvider:MediaProvider override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mediaProvider = MediaLibraryTestSongProvider() } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { //TODO: how to inflate fragment using Kotlin extension? val songListView = inflater.inflate(R.layout.fragment_song_list, container, false) val songListRecyclerView = […]

在适配器中不能识别Kotlin扩展

我有毕加索的基本扩展实用程序: public val Context.picasso: Picasso get() = Picasso.with(this) public fun ImageView.load(path: String, request: (RequestCreator) -> RequestCreator) { request(context.picasso.load(path)).into(this) } 当我尝试从适配器中的imageview上下文中调用它时,它不被识别。 与itemView.context.picasso一样的东西 谢谢!

如何实现一个延迟加载recyclerView适配器,像使用kotlin的realm recyclerView适配器

我需要实现一个recyclerView,显示我的查询解析,所以我已经做到了: private class Pagination extends RecyclerView.OnScrollListener{ @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); visibleItemCount = manager.getChildCount(); totalItemCount = manager.getItemCount(); firstVisibleItemPosition = manager.findFirstVisibleItemPosition(); if (!isLoading && !isLastPage) { if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount && firstVisibleItemPosition >= 0 && totalItemCount >= PAGINATION) { isLoading = true; new Handler().postDelayed(new Runnable() { […]

Kotlin recyclerView不调用任何适配器方法

RecyclerView适配器使我不舒服 – 在应用程序运行期间,没有任何适配器方法的调用。 数据已在FileListPresenterImpl类中初始化,但没有任何调用。 请帮忙。 class FileListAdapter(val fileList: List<File>): RecyclerView.Adapter<FileListAdapter.ViewHolder>() { override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.bindData(fileList[position]) } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder { var v = LayoutInflater.from(parent?.context).inflate(R.layout.row_item_file, parent, false) return ViewHolder(v) } override fun getItemCount(): Int = fileList.size class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { fun bindData(file: File) { itemView.tvFileName.text = file.getFileName() […]