Reputation: 15535
I have created my RcyclerView
and its adapter like following.
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setHasFixedSize(true);
final ArrayList<String> list = new ArrayList<>();
final RecyclerViewAdapter adapter = new RecyclerViewAdapter(list);
recyclerView.setAdapter(adapter);
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int count = list.size();
list.add(count + " * 10 = " + (count * 10));
adapter.notifyDataSetChanged();
}
});
And my adapter
's ViewHolder is
class ViewHolder extends RecyclerView.ViewHolder {
EditText item;
ViewHolder(View itemView) {
super(itemView);
item = (EditText) itemView.findViewById(R.id.item);
item.requestFocus(); //I want my last row's EditText get focused automatically.
}
}
So I want my last EditText
get focused automatically. But when I add new one last edittext get focused, while add new one again then first one get focused, then last one, then first one.. etc... Please refer the gif.
Here it shouldn't go to the first edittext.
I don't know how to stable this issue.
Upvotes: 2
Views: 2393
Reputation: 15535
By using following method I have achieved the target. Thanks for all who tried to help me.
@Override
public void onViewAttachedToWindow(ViewHolder holder) {
super.onViewAttachedToWindow(holder);
if (holder.item != null && holder.item.getText().length() == 0) {
holder.item.requestFocus();
}
}
Upvotes: 3