以下のコードは最後の要素を4回繰り返します。このListViewは、タブ付きのアクティビティフラグメントで使用されます。私はインターネットで検索しましたが、役に立たないことは何も見つかりませんでした。助けてください!私のカスタムリストビューアダプターが最後の項目を繰り返します
マイアダプタクラス:そのリストビューの
public class MyAdapter extends ArrayAdapter<ElementList> {
public MyAdapter(Context context, ArrayList<ElementList> EventList){
super(context,0,EventList);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent){
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_adapter, parent, false);
holder = new ViewHolder();
holder.id = (TextView) convertView.findViewById(R.id.textView9);
holder.name = (TextView) convertView.findViewById(R.id.textView6);
holder.date =(TextView)convertView.findViewById(R.id.textView7);
holder.time =(TextView)convertView.findViewById(R.id.textView8);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ElementList elementList = getItem(position);
if(elementList != null) {
holder.id.setText(ElementList.id);
holder.name.setText(ElementList.name);
holder.date.setText(ElementList.date);
holder.time.setText(ElementList.time);
}
return convertView;
}
使用法:
ArrayList<ElementList> EventList = new ArrayList<ElementList>();
EventList.add(new ElementList("1","bla1","12/34/45","12:40"));
EventList.add(new ElementList("1","bla2","12/34/45","12:40"));
EventList.add(new ElementList("1","bla3","12/34/45","12:40"));
EventList.add(new ElementList("1","bla4","12/34/45","12:40"));
MyAdapter adapter = new MyAdapter(getActivity(),EventList);
ListView myList = (ListView) rootView.findViewById(R.id.listView);
myList.setAdapter(adapter);
任意の提案ですか? 。
問題の明確化 –
アダプターのnotifyDataSetChanged()をリストに設定した後で呼び出すことはできますか? – DNax