title: Android ArrayAdapter when scroll down or up object changing position
body: <p><strong>--- Code ---</strong></p>
  
  <pre><code>public View getView(int position, View convertView, ViewGroup parent) {
      View view = convertView;
      ViewHolder vHolder=null;
  
      if (view  == null) {
          view                 = LayoutInflater.from(context).inflate(R.layout.drawer, null, false);
          vHolder              = new ViewHolder();
          TextView tCategory   = (TextView) view.findViewById(R.id.category);
          TextView tPosition   = (TextView) view.findViewById(R.id.position);
          vHolder.tCategory    = tCategory;
          vHolder.tPosition    = tPosition;
          view.setTag(vHolder);
      }else {
          vHolder = (ViewHolder) view.getTag();
      }
  
      String[] split     = getItem(position).split("£");
      String   category  = split[0].trim();
      Integer  catID     = Integer.parseInt(split[1].trim());
  
      vHolder.tCategory.setTag(catID);
      vHolder.tPosition.setTag(catID + "_position");
  
      if(SZ.CURRENTCATEGORY == catID) {
          vHolder.tCategory.setText("TOP: " + category);
      }else{
          vHolder.tCategory.setText(category);
      }
  
      AbsListView.LayoutParams params = (AbsListView.LayoutParams) view.getLayoutParams();
      if(catID &gt;= 90){//SUBJECT
          vHolder.tCategory.setTextSize( context.getResources().getDimension(R.dimen.drawer_subject));
          vHolder.tCategory.setTextColor(context.getResources().getColor(R.color.drawer_subject));
          vHolder.tCategory.setTypeface(null, Typeface.BOLD);
          vHolder.tCategory.setGravity(Gravity.CENTER_HORIZONTAL);
          vHolder.tCategory.setPadding(5, 0, 20, 0);
  
          view.setPressed(false);
          view.setBackgroundColor(Color.DKGRAY);
          vHolder.tPosition.setVisibility(View.GONE);
      }else{//CATEGORY
          if (vHolder.tPosition.getText().toString().trim().equalsIgnoreCase("") &amp;&amp; vHolder.tPosition.getText().toString().indexOf("0") == -1) {
              vHolder.tPosition.setText("0");
              int position = SZ.position(catID);
              if (position &gt; 0) {
                  vHolder.tPosition.setText("" + position);
              }
          }
          vHolder.tPosition.setVisibility(View.VISIBLE);
          vHolder.tCategory.setTextSize(context.getResources().getDimension(R.dimen.drawer_category));
          vHolder.tCategory.setTextColor(context.getResources().getColor(R.color.drawer_category));
          vHolder.tCategory.setTypeface(null, Typeface.NORMAL);
          vHolder.tCategory.setGravity(Gravity.NO_GRAVITY);
          vHolder.tCategory.setPadding(0, 5, 0, 0);
  
          view.setPressed(true);
          view.setBackgroundColor(Color.TRANSPARENT);
      }
  
      return view;
  }
  </code></pre>
  
  <p>I was run my code on Android Emulator. When i open my navigation drawer anythings work normally <strong>but</strong> when i scroll down on the list or scroll up my category position value (vHolder.tPosition) changing abnormaly..</p>
  
  <p><strong><em>I search more time for this problem and i use ViewHolder pattern but not solved.</em></strong>
  So how i can solved this problem? (Thank you)</p>
  
  <p><em>Sory for my bad english.</em></p>