ListView no muestra los valores correctos después de desplazarse

En mi aplicación estoy usando unCustomListView con unArrayAdapter para mostrar el tiempo de diferentes países. Pero después de 6 a 7 filas (dependiendo del tamaño de la pantalla del teléfono) los valores de tiempo se repiten.

De acuerdo con alguna publicación anterior, he escrito el siguiente fragmento de código para obtener la solución. Pero el problema sigue ahí

A continuación se muestra el código que he escrito:
 public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;

        Order o = items.get(position);
        if (v == null) {

            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            LinearLayout ll = (LinearLayout) vi.inflate(R.layout.row, null);


            CustomDigitalClock customDC = new CustomDigitalClock(CityList.this, o.getOrderTime());

            LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.FILL_PARENT);

            customDC.setTextColor(Color.WHITE);
            customDC.setTextSize(13);

            LayoutParams param=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

            ll.addView(customDC, 2);
            v = ll;
      }   
         if (o != null) {
            TextView tt = (TextView) v.findViewById(R.id.toptext);
            TextView bt = (TextView) v.findViewById(R.id.bottomtext);

            if (tt != null) {
                tt.setText("" + o.getOrderName());
            }
            if (bt != null) {
                bt.setText("" + o.getOrderStatus());
             }
          v.setOnCreateContextMenuListener(this);

        }
        return v;
    }

¿Alguien puede ayudarme

Respuestas a la pregunta(2)

Su respuesta a la pregunta