Xamarin - 在RecyclerView中错误的位置显示错误消息

时间:2017-01-04 13:28:05

标签: android xamarin xamarin.android android-recyclerview

我的RecyclerView适配器里面有 private void CheckNewItemAddMethod(int position) { if (Validate(position) && position == ItemCount - 1) { transactionItemModelList.Add(new TransactionItemModel() { ItemID = -1 }); NotifyItemInserted(transactionItemModelList.Count - 1); } } private bool Validate(int pos) { ItemCustomViewHolder Passedholder = FindViewHolderByPoistion(pos); bool valid = true; int x = 0; if (! int.TryParse(Passedholder.itemCount.Text, out x) || x == 0){ valid = false; } int intItemPrice = 0; if (string.IsNullOrEmpty(Passedholder.itemName.Text) || !int.TryParse(Passedholder.itemPrice.Text, out intItemPrice) || intItemPrice == 0) { valid = false; Passedholder.itemName.SetError(mContext.GetString(Resource.String.empty_field), null); }else { Passedholder.itemName.SetError((string)null, null); } if (string.IsNullOrEmpty(Passedholder.itemPrice.Text)) { valid = false; Passedholder.itemPrice.SetError(mContext.GetString(Resource.String.empty_field), null); } else { Passedholder.itemPrice.SetError((string)null, null); } return valid; } 方法,这个方法在我的适配器添加新行之前验证了行,我在最后一行编辑时遇到的问题验证错误出现在错误的位置,我跟踪我的适配器,我相信它给出了正确的位置

这里是参考图像

enter image description here

我的代码我检查焦点项是否为最后一项,并且验证是否通过添加新行

import os
import shutil

n = 1

while (n < 30):
shutil.move('Stack_%d.txt' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d_shifts.txt' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d.mrc' % (n), 'stack_%d' % (n))
shutil.move('Stack_%d.rawtlt' % (n), 'stack_%d' % (n))

n = n+1

注意当我将其滚动回右视图时

任何人都可以指导我为什么会发生这种情况

0 个答案:

没有答案