2010-09-14 67 views
2

许多Edittexts这是我getView方法:安卓:ListView中

public View getView(final int position, View convertView, final ViewGroup parent) { 
     ViewHolder holder; 
     if(convertView == null){ 
      holder = new ViewHolder(); 
      convertView = inflater.inflate(R.layout.propviewlistrow, null); 
      holder.title = (TextView) convertView.findViewById(R.id.propviewlistrow_t1); 
      holder.content = (EditText) convertView.findViewById(R.id.propviewlistrow_e1); 
      convertView.setTag(holder); 
     } 
     else{ 
      holder = (ViewHolder)convertView.getTag(); 
     } 
     holder.title.setText(names.get(position)); 
     holder.content.setText(values.get(position));  
     holder.content.addTextChangedListener(new TextWatcher(){ 

      public void afterTextChanged(Editable s) {  
       values.set(position, s.toString()); 
      } 

      public void beforeTextChanged(CharSequence s, int start, 
        int count, int after) { 
      } 

      public void onTextChanged(CharSequence s, int start, 
        int before, int count) { 
        } 

     }); 
     return convertView; 
    } 
} 

但是,这是行不通的。 edittexts不显示正确的文本,滚动时显示的文本切换。 接下来的问题是,我在清单中设置了android:windowSoftInputMode =“adjustPan”。 如果你点击进入最后一个编辑文本,listview将不会向上滚动,这样你就可以看到你正在输入的内容。

回答