2010-09-14 121 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將不會向上滾動,這樣你就可以看到你正在輸入的內容。

回答