0

すべてが正常に機能していたので、 listViewを最適化するためBaseAdapterに使用する必要がありました。Viewholder

リスト ビューをスクロールするたびに、5 ~ 6 件のレコードが表示されます。これは私が使用しているコードです:

Context context;
LayoutInflater inflater;
MainActivity main;
ArrayList<HashMap<String, String>> data;
HashMap<String, String> itemList;

static ImageLoader imageLoader;
Internholder holder;
String flight;
 View itemView ;
ImageView flag;
TextView flight_view,status_view;
TextView origin_item_view;
TextView expected_time_view,flight_item_view;
HashMap<String, String> resultp = new HashMap<String, String>();
List<String> values = new ArrayList<String>();

public khidomlistadapter(Context context,
        ArrayList<HashMap<String, String>> arraylist) {
    this.context = context;
    data = arraylist;

    imageLoader = new ImageLoader(context);
}

@Override
public int getCount() {
    return data.size();
}

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

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

public View getView(final int position, View convertView, ViewGroup parent) {
    // Declare Variables
    View v = convertView;
    Internholder holder;    
    if (v == null) {
    LayoutInflater vi = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);


    v = vi.inflate(R.layout.listview_item, null);
    holder = new Internholder();
    holder.flight_item_view = (TextView) v.findViewById(R.id.flight);
    holder.origin_item_view = (TextView) v.findViewById(R.id.origin);
    holder.expected_time_view = (TextView) v.findViewById(R.id.expected);
    holder.status_view =(TextView) v.findViewById(R.id.status);
    // Locate the ImageView in listview_item.xml
    holder.flag = (ImageView) v.findViewById(R.id.flag);
    v.setTag(holder);

    }
    else
    {
        holder = (Internholder) v.getTag();
    }
    // Get the position


    resultp = data.get(position);

     //Capture position and set results to the ImageView
     //Passes flag images URL into ImageLoader.class
    holder.flight_item_view.setText(resultp.get("flight"));
    holder.origin_item_view.setText(resultp.get("origin"));
    holder.expected_time_view.setText(resultp.get("expected_time"));
    holder.status_view.setText(resultp.get("status"));
    imageLoader.DisplayImage(resultp.get("flag"), holder.flag);



    return v;
}

誰かが私が間違っていることを指摘できますか?

4

2 に答える 2