osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
2.94k stars 362 forks source link

liquid keyboard候选框导致crash #1409

Open FlyingpigNZ opened 2 weeks ago

FlyingpigNZ commented 2 weeks ago

com.osfans.trime-2024-06-22T09_55_46Z.txt 报告在这里,应该是

    @SuppressLint("NotifyDataSetChanged")
    fun updateCandidates(candidates: List<CandidateListItem>) {
        mCandidates.clear()
        mCandidates.addAll(candidates)
        notifyDataSetChanged()
    }

这里导致的,重现方式:

  1. 打开输入法: 输入一些字符,打开liquid keyboard 往下拖动一点,比如说一行。 选中第二行的字符。 如图: select_first 然后就crash了: crashed
WhiredPlanck commented 2 weeks ago

@FlyingpigNZ 正如你在 PR 里所说,notifyDataSetChanged 这个函数是有 bug 的,在其他 adapter 里我改了,只有 CandidateAdapter 我没改,因为我想之后大改版就先没管 ……