фокус постоянно меняется - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть галерея listviews, и она работает по большей части.Проблема, с которой я столкнулся на данный момент, заключается в том, что наверху надутого макета над listview находится edittext.Представления списка содержат в себе текстовые правки, и всякий раз, когда я пытаюсь ввести их, я могу вставить в них один символ, прежде чем focus вернется к edittext в самой верхней части списка.

здесь adapter для gallery.

class GalleryListAdapter extends ArrayAdapter<ListView>
  {

     private ArrayList<ListView> views;
     private ArrayList<ArrayAdapter<Player>> adapters;

     public GalleryListAdapter(Context context, int layoutId, int textViewResourceId, ArrayList<ListView> items, ArrayList<ArrayAdapter<Player>> ap){
         super(context,layoutId, textViewResourceId, items);

         views = items;
         adapters = ap;
     }

     class ViewHolder{
            EditText team_name;
            ListView team_members;

            public ViewHolder(){

            }
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub

        System.out.println("in getview");
        ViewHolder holder;


        if(convertView == null){
            LayoutInflater LI = getLayoutInflater();
            convertView = LI.inflate(R.layout.team_setup_lists, null);
            convertView.setLayoutParams(new Gallery.LayoutParams(550,LayoutParams.MATCH_PARENT));
            ((RelativeLayout)convertView).setPadding(20, 0, 20, 0);
            holder = new ViewHolder();

            holder.team_members = (ListView)convertView.findViewById(R.id.listView1);
            holder.team_name = (EditText)convertView.findViewById(R.id.team_name);


            convertView.setTag(holder);
        }else 
            holder = (ViewHolder) convertView.getTag();

        team_names.remove(position);
        team_names.add(holder.team_name.getText()+"");
        holder.team_members.setAdapter(adapters.get(position));
        //GalleryListAdapter.this.notifyDataSetChanged();



        return convertView;
    }

}

}

...