2017-03-28 9 views
0

ボタンをクリックすると子アイテムが追加されるRecyclerViewがあります。各子アイテムにはEditextがあります。 新しい子アイテムがRecyclerViewに追加されると、新しいアイテムのEditetextがフォーカスを取得する必要があります。 どうすればいいですか?新しいアイテムが追加されたときにRecyclerviewの子アイテムのEditextでカーソルを取得するにはどうすればいいですか?

+1

あなたは 'edittext.requestFocus()しようとしたことがあり;'? – gvlachakis

+0

どこにコードを置くべきですか?それはAdapterクラスにありますか? – Seenu69

+0

子を追加する場所。あなたがそれを追加した後、 'requestFocus()'。それはあなたがそれを追加した後の最初のものであるべきです、それぞれの子供が挿入に焦点を当てるようにしたいからです。 – gvlachakis

答えて

2

あなたのアダプタ内部のフォーカスを要求することができます。このような

何か:

@Override 
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { 

((ViewHolder) holder).yourEditText.requestFocus(); // It will set a focus on your edittext whenever the child is getting created 

} 
+0

コードを追加しました。しかし、最初の項目の代わりに最後の項目に焦点を当てます。 – Seenu69

+1

最初の位置にのみフォーカスを合わせたい場合。ポジションに基づいて条件を追加することができます。 if(position == 0){ ((ViewHolder)holder).yourEditText.requestFocus(); } –

+0

はい、あなたの答えが私の問題を解決しました。おかげで – Seenu69

1

適切な方法は、RecyclerView.AdapteronBindViewHolder(ViewHolder, int)メソッドのEditTextにフォーカスを設定することです。通常使用して

次に設定フォーカス:yourEditText.requestFocus();

関連する問題