[英]How to set Adapter to show ListFragment
如何設置Adapter
以顯示ListFragment
,我嘗試設置此底部的代碼不起作用
ListFragment
僅顯示一個值(index = 0),而其他index不顯示
ChatGroupMembersFragment.java
public class ChatGroupMembersFragment extends ListFragment {
ArrayList<ChatApiFriendListGroupModel> chatApiFriendListGroupModelArrayList = new ArrayList<>();
ArrayList<ChatApiFriendListGroupModel> chatApiFriendListGroupModels = new ArrayList<>();
private AdapChatGroupMembers adapChatGroupMembers;
public static ArrayList<ChatApiFriendListGroupModel> f =new ArrayList<>();
public static ChatGroupMembersFragment newInstance(ChatApiFriendListGroupModel member) {
f.add(member);
return new ChatGroupMembersFragment();
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Log.d("ChatGroupMembersFragmen","onViewCreated");
ShareData.tx_home_titlebar.setText(getActivity().getResources().getString(R.string.tx_group_member));
Member();
}
private void Member() {
for (ChatApiFriendListGroupModel chatApiFriend: f){
chatApiFriendListGroupModelArrayList.add(chatApiFriend);
}
adapChatGroupMembers = new AdapChatGroupMembers(getActivity(), chatApiFriendListGroupModelArrayList);
setListAdapter(adapChatGroupMembers);
adapChatGroupMembers.notifyDataSetChanged();
}
}
和myadapter
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHoder = new ViewHolder();
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView==null){
convertView = layoutInflater.inflate(R.layout.fragment_chat_group_members,parent ,false);
viewHoder.tx_name_member = (TextView) convertView.findViewById(R.id.tx_name_member);
viewHoder.img_profile_member =(ImageView) convertView.findViewById(R.id.img_profile_member);
viewHoder.tx_name_member.setTypeface(MainActivity.typeface_normal);
convertView.setTag(viewHoder);
}else {
viewHoder = (ViewHolder) convertView.getTag();
}
viewHoder.tx_name_member.setText(chatApiFriendListGroupModelArrayList.get(position).getMembers().get(position).getFirstname());
return convertView;
}
並且它在列表視圖中僅顯示一個( get(0).getFirstName();
)
和My Data在FirstName中有6個值( get(0-6).getFirstName()
)
如何獲取所有值以顯示ListFragment
?
您的ArrayList
似乎只有一個元素,您可以在此處添加:
f.add(member);
因此,以下調用僅在位置為0
時返回元素:
chatApiFriendListGroupModelArrayList.get(position);
如果我正確理解並且getMembers()
返回了正確的數據集,則可能需要執行以下操作:
viewHoder.tx_name_member.setText(chatApiFriendListGroupModelArrayList.get(0)
.getMembers().get(position).getFirstname());
並相應地重寫getCount()
:
@Override
public int getCount() {
return chatApiFriendListGroupModelArrayList.get(0)
.getMembers().size();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.