2014-08-29 3 views
0

를 표시, 나는이 코드 안드로이드를 추가 한목록보기 - 자동 스크롤 때마다 목록보기 행의 편집 텍스트가 키보드

키보드가 나타납니다 자동 스크롤하려는 : windowSoftInputMode = "adjustPan | stateHidden" 내 menifetch.xml에서하지만 작동하지 않았다

내의 getView 자바 코드

// 목록 만들기 어댑터

class CreateAdapter extends ArrayAdapter<String> { 
String[] strItecode=null; 
String[] strItem; 
String[] strQuantity; 
Context context; 

int temp; 
CreateAdapter(Context context, String[] strItemcode, String[] strItem, 
     String[] strQauntity) { 
    super(context, R.layout.create_list_item, R.id.txtItemcode, strItemcode); 
    this.context = context; 
    this.strItecode = strItemcode; 
    this.strItem = strItem; 
    this.strQuantity = strQauntity; 
    // text= new String[strItem.length]; 
} 
private int editingPosition = 0; 
private TextWatcher watcher = new TextWatcher() { 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       text[editingPosition] = s.toString(); 
      } 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { } 
      public void afterTextChanged(Editable s) { } 
     }; 

public View getView(final int position, View convertView, ViewGroup parent) { 
    ViewHolder holder = null; 
    temp=position; 
    LayoutInflater mInflater = (LayoutInflater) context 
      .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
    if (convertView == null) { 

     holder = new ViewHolder(); 
     convertView = mInflater 
       .inflate(R.layout.create_list_item, parent, false); 

     holder.txtItecode = (TextView) convertView 
       .findViewById(R.id.txtItemcode); 
     holder.txtItem = (TextView) convertView 
       .findViewById(R.id.txtItem); 
     holder.editQuantity = (EditText) convertView 
       .findViewById(R.id.editcreateQuantity); 
     holder.editQuantity.setTag(position); 

     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    holder.editQuantity.removeTextChangedListener(watcher); 
    if(text[temp].contentEquals("0")) 
     holder.editQuantity.setText(""); 
    else 
    holder.editQuantity.setText(text[temp]); 

    holder.editQuantity.setOnFocusChangeListener(new OnFocusChangeListener() {  
     public void onFocusChange(View v, boolean hasFocus) { 
      if(hasFocus) editingPosition = position; 
     } 
    }); 

    holder.editQuantity.addTextChangedListener(watcher); 

    // The rest is good, just make sure to remove the call to setting the EditText's text at the end 
    holder.txtItecode.setText(strItecode[position]); 
    holder.txtItem.setText(strItem[position]); 
    // holder.editQuantity.setText(text[temp]); 

    return convertView; 


} 

class ViewHolder { 
    TextView txtItecode; 
    TextView txtItem; 
    EditText editQuantity; 
} 

}

내가 키보드

답변

0

이 활동이

을 시도 사전에

감사를 표시 할 때 자동 스크롤을 설정하는 방법 도와주세요

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    final int proposedheight = MeasureSpec.getSize(heightMeasureSpec); 
    final int actualHeight = getHeight(); 

    if (actualHeight > proposedheight){ 
     scrollMyListViewToBottom(); 
    } 

    super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
} 

private void scrollMyListViewToBottom() { 
    myListView.post(new Runnable() { 
     @Override 
     public void run() { 
      // Select the last row so it will scroll into view... 
      myListView.setSelection(myListAdapter.getCount() - 1); 
     } 
    }); 
} 
+0

내가 어떻게 할 수있는 우리의 활동에이 코드를 사용하십시오 – user3886688

+0

나는 그것이 당신을 도울 수 있기를 바랍니다 – Davide

+0

th 편집중인 아이템의'listview'에서 특정 위치를 지정하는'scrollMyListViewToBottom' 함수 – Davide