2013-10-26 9 views
4

각 행에 edittext가 포함 된 listview가 있습니다. listview의 마지막 행에 텍스트를 추가 할 때 listview에 빈 행을 추가하려고합니다. 그래서 내 목록을 변경하고 notifyDataSetChanged()를 호출하십시오. 불행하게도 포커스는 listview 외부로 이동합니다. 현재 edit_text에 포커스를 유지하려면 어떻게해야합니까? edit_text.requestFocus() 시도했다 -하지만 작동하지 않았다.notifyDataSetChanged() 후 포커스 손실

코드 :

@Override 
public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View rowView=inflater.inflate(R.layout.design_listview, parent, false); 

    EditText edit_text=(EditText) rowView.findViewById(R.id.list_edittext); 

    edit_text.setText(values.get(position).text); 

    edit_text.addTextChangedListener(new TextWatcher() 
    { 
     public void beforeTextChanged(CharSequence charSequence, int i, int j, int k) { } 

     public void onTextChanged(CharSequence charSequence, int i, int j, int k) { } 

     public void afterTextChanged(Editable editable) 
     { 
      values.get(position).text=editable.toString(); 

      if(position == values.size()-1 && editable.toString().length() > 0) { 
       listaddItem(); 
       notifyDataSetChanged(); 
       // How to keep the focus? edit_text.requestFocus(); did not help 
      } 
     } 
     // .. 
    return rowView; 
    } 
} 

들으!

+0

같은 문제가 있습니다. –

답변

0

아마도 edit_text.setSelection (0); 공장?

관련 문제