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;
}
}
들으!
같은 문제가 있습니다. –