У меня есть галерея 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;
}
}
}