Обновление данных RecylerView всегда фокусируется на первом элементе - PullRequest
0 голосов
/ 28 июня 2019

Я застрял в проблеме при обновлении RecylerView новым ArrayList, включающим EditText. Всякий раз, когда RecylerView обновляется новым ArrayList, программа всегда выбирает EditText первого элемента в RecyclerView.

Есть Listeners, которые вызывают функцию обновления ниже каждый раз, когда происходит смена фокуса. Другими словами, вы не можете эффективно выбрать любой другой элемент EditText в RecylerView, потому что, когда первый элемент теряет фокус, RecyclerView обновляется новым ArrayList, а затем автоматически выбирает EditText из первый элемент в RecyclerView.

По умолчанию notifyDataSetChanged() просто автоматически выбирает первый элемент? Или, может быть, из-за того, как я настроил адаптер?

private void refreshRecyclerList() {

    // Set titles for the Recycler View Items
    textInputList.clear();
    textInputList.add(new EditTextRecyclerItem("Monthly on New Stuff", stringSpendingMonthly));
    textInputList.add(new EditTextRecyclerItem("Yearly on New Stuff", stringSpendingAnnually));

    //mAdapter.updateArrayList(textInputList);
    mAdapter.notifyDataSetChanged();
}

Я новичок в Android, поэтому, пожалуйста, прости, если это простое исправление, которое я упустил.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Если вы вызываете это mAdapter.notifyDataSetChanged (); тогда это означает, что весь обзор переработчика обновляется, поэтому, если вы хотите сосредоточиться на измененном элементе myAdapter.notifyItemInserted(position) или myAdapter.notifyItemChanged(), или вы можете прокрутить свой обзор переработчика на recyclerview.scrollToPosition()

Пожалуйста, попробуйте вернуть меня, если он не работает. `

0 голосов
/ 28 июня 2019

Попробуйте поместить эти строки в родительский макет в вашем Itemview

android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...