title: EditText in a list aren't working the way they should
body: <p>I have a problem with <code>EditText</code> fields in a <code>ListActivity</code>.</p>
  
  <p>The code complies all right, but the functionality is strange, typing in the first field and hiding the keyboard after this the text appears in another editfield.</p>
  
  <p>Help me with my logical issue</p>
  
  <pre><code>package com.example.helloandroid;
  
  import android.app.ListActivity;
  import android.content.Context;
  import android.os.Bundle;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.EditText;
  import android.widget.TextView;
  
  public class AddComp extends ListActivity {
  
  
  static final int DATE_DIALOG_ID = 0;
  
          private class EfficientAdapter extends BaseAdapter {
              private LayoutInflater mInflater;
              private String[] attitude_names;
              private String[] attitude_values;
  
              public EfficientAdapter(Context context) {
                  mInflater = LayoutInflater.from(context);
                  attitude_names = context.getResources().getStringArray(R.array.COMP_ATTITUDE_NAME);
                  attitude_values = new String[attitude_names.length];
              }
  
              public Object getItem(int position) {
                  return position;
              }
  
              public long getItemId(int position) {
                  return position;
              }
  
              public View getView(int position, View convertView, ViewGroup parent) {
                  ViewHolder holder;
  
                  if (convertView == null) {
                      convertView = mInflater.inflate(R.layout.addcomp_attitude_row, null);
  
                      holder = new ViewHolder();
                      holder.Attitude_Name = (TextView) convertView.findViewById(R.id.addcomp_att_name);
                      holder.Attitude_Value = (EditText) convertView.findViewById(R.id.addcomp_att_value);
  
                      convertView.setTag(holder);
                  } else {
                      holder = (ViewHolder) convertView.getTag();
                  }
  
                  holder.Attitude_Name.setText(attitude_names[position]);
                  holder.Attitude_Value.setHint(attitude_names[position]);
                  attitude_values[position] = holder.Attitude_Value.getText().toString();
  
  
  
                  return convertView;
              }
  
              class ViewHolder {
                  TextView Attitude_Name;
                  EditText Attitude_Value; 
              }
  
              @Override
              public int getCount() {
                  return attitude_names.length;
              }
          }
  
  
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
          setListAdapter(new EfficientAdapter(this));
  
          setContentView(R.layout.addcomp);
      }
  }
  </code></pre>