【发布时间】:2015-09-21 00:51:35
【问题描述】:
我正在使用 recyclerViewAdapter 来填充回收站视图。 每个 recyclerItem 里面都必须有项目列表,我决定将它设为 listView。
所以在 recyclerView 的 onBindViewHolder 中,我创建了新的光标,进行了新的查询(在 contentResolver 的帮助下),然后我需要用这些数据填充我的 listView。
这是我的一些代码:
Cursor.moveToFirst();
int size = Cursor.getCount();
if (size > 0){
for (int i = 0; i<size; i++){
Cursor.moveToPosition(i);
setCurrentItem();
}
}
private void setCurrentItem(){
View View = LayoutInflater.from(mContext).inflate(R.layout.list_item_test, null);
mLogo = (ImageView)cardView.findViewById(R.id.iv_Item_logo);
mName = (TextView)cardView.findViewById(R.id.tv_cardItem_Name);
mNumber = (TextView)cardView.findViewById(R.id.tv_cardItem_Number);
mBlocked = (TextView)cardView.findViewById(R.id.tv_Item_blocked);
mDate = (TextView)cardView.findViewById(R.id.tv_Item_Date);
String Name = Cursor.getString(AccountsFragment.NAME);
String Numb = Cursor.getString(AccountsFragment.NUMBER);
Numb = USB_Converter.Numbers(Numb);
String Date = Cursor.getString(AccountsFragment.DATE);
Date = USB_Converter.friendlyDate(Date);
int Status = Cursor.getInt(AccountsFragment.STATUS);
if (Status == UserAccountsEntry.STATUS_ID_ACTIVE){
mBlocked.setVisibility(View.VISIBLE);
} else {
mBlocked.setVisibility(View.GONE);
}
mName.setText(Name);
mNumber.setText(Numb);
mDate.setText(Date);
mHolder.mListView.addFooterView(cardView);
}
这工作没有任何错误,但它不显示 listView...
知道如何解决这个问题吗?
编辑 listView.xml:
<ListView
android:id="@+id/lv_accountList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
/>
【问题讨论】:
-
您的字符串“名称”从数据库中获取值。而您使用另一个字符串 'cardName' 作为 'setText()'
-
有问题的错误,已修复。谢谢
标签: android listview android-recyclerview