В моей основной деятельности у меня есть RecyclerView и GridView.оба зарегистрированы для одного и того же ContextMenu.все работало нормально для обоих, и пока я работал над пользовательским адаптером GridView и тестировал, я обнаружил, что RecyclerView возвращает неправильное представление.Я заметил, что когда я долго жму первый вид, он возвращает первый вид как обычно, но при длительном нажатии каждый следующий вид возвращает предыдущий вид.Я попытался перепроверить историю большинства файлов, над которыми я работал, но все в порядке.также попытался сделать недействительными наличные и перезапустить, но не повезлоэто мое onCreateContextMenu.
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
if (v.getId() == R.id.links_listview) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
tTitle = info.targetView.findViewById(R.id.linkTitle);
tText = info.targetView.findViewById(R.id.linkText);
menu.setHeaderTitle(tTitle.getText().toString());
String[] menuItems = getResources().getStringArray(R.array.menu);
for (int i = 0; i < menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
} else if (v.getId() == R.id.horizontal_recycler) {
tTitle = v.findViewById(R.id.linkTitle);
tText = v.findViewById(R.id.linkText);
menu.setHeaderTitle(tTitle.getText().toString());
String[] menuItems = getResources().getStringArray(R.array.menu);
for (int i = 0; i < menuItems.length; i++) {
menu.add(Menu.NONE, i, i, menuItems[i]);
}
}
}