我有一个RecyclerView内的移动联系人列表,我也有一个在线数据库与注册手机号码我做了一个Web服务,以检查号码是否已注册,它的工作。
我想要做的是有在右边的项目邀请的文字,我想使它成为未注册的用户可查看和注册用户将是他们看不到这低于Android - RecyclerView更改项目
我onBindViewHolder什么我得到现在是邀请文字不断出现和消失,然后将所有
@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
Log.d(TAG, "Element " + position + " set.");
// Get element from your dataset at this position and replace the contents of the view
// with that element
viewHolder.getTextView().setText(mDataSet[position]);
viewHolder.getTextView2().setText(mDataSet2[position]);
viewHolder.getImageView().setImageResource(mDataSet3[position]);
Phone phone=new Phone();
phone.phone=mDataSet2[position];
WebService.getInstance().getApi().checkNumber(phone).enqueue(new Callback<MainResponse>() {
@Override
public void onResponse(Call<MainResponse> call, Response<MainResponse> response) {
if (response.body().status == 1){
viewHolder.getTextViewInvite().setVisibility(View.GONE);
}else {
viewHolder.getTextViewInvite().setVisibility(View.VISIBLE);
}
}
@Override
public void onFailure(Call<MainResponse> call, Throwable t) {
viewHolder.getTextViewInvite().setVisibility(View.VISIBLE);
}
});
}
无论TextView的当前状态如何,您都在为每一行执行网络连接?可能不是性能最高的功能 –
为什么你在onBindViewHolder()中打api,根据我的建议获取所有电话号码,与在线数据库比较,然后将该列表分配给recyclerview适配器。并使用您的国旗 –
切换“邀请”文字,请您向我解释如何做到这一点? – RealDEV