0

そのため、リストビューがあり、外部データベースからデータを取得しています。最初は 20 個のアイテムが必要ですが、ユーザーが下にスクロールすると、さらに 20 個が読み込まれます。

class ItemAdapter extends BaseAdapter {
        private ArrayList<Item> objects;
        private class ViewHolder {
             public TextView text_tt;  

        }

        @Override
        public int getCount() {
            return SIZE;
            //return 9;
        }

        @Override
        public Object getItem(int position) {
            return position;
        }

        @Override
        public long getItemId(int position) {
            return position;
        } 

@Override
        public View getView(final int position, View convertView, ViewGroup parent) {
            View v = convertView;
            final ViewHolder viewHolder;
            if (v == null) {
            LayoutInflater inflater = (LayoutInflater) getActivity().getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = inflater.inflate(R.layout.list_item, null);
            viewHolder = new ViewHolder();
            viewHolder.text_tt = (TextView) v.findViewById(R.id.toptext);
            } else {
            viewHolder = (ViewHolder) convertView.getTag();
            }

            if(position==getCount()-1){
                LoadMore(); //asynctask - load other 20

            }
            return v;
        }
    }

ロード関数では、事前に読み取られたjsonデータを解析するので、リストにさらに20個追加する必要がありnotifyDataSetChanged()ます..関数はうまく機能しますが、副作用があります.アイテムをクリックしない時間の約50%認識された。下にスクロールして、次の 20 を受け取りますが、どのアイテムもクリックできません。しかし、たとえば、アクティビティを変更してリストビューに戻ると、機能します。なんで?ありがとうございました!

4

1 に答える 1