onCreateContextMenu возвращает неправильное представление - PullRequest
0 голосов
/ 08 марта 2019

В моей основной деятельности у меня есть 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]);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...