У меня есть фрагмент внутри класса, потому что он является частью ViewPager. Однако в моем внешнем классе я реализую и OnItemClickListener из библиотеки третья часть для NavigationDrawer. Но внутри моего внутреннего класса у меня есть OnItemClickListener, который является интерфейсом Android SDK. Но это дает мне ошибку из-за сбоя в реализации метода onItemClick, который я действительно реализовал.Фрагмент не абстрактный и не переопределяет абстрактный метод
реализация Внутренний класс:
public static class AllFragment extends Fragment implements AdapterView.OnItemClickListener
реализация метода onItemClick:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View v,
int position, long arg3) {
String selectedItem;
if (position % 2 == 0)
selectedItem = "Facebook";
else
selectedItem = "Twitter";
Toast.makeText(getActivity(),
"Selected Item: " /*+ GridViewCustomAdapter.titles.get(position)*/,
Toast.LENGTH_SHORT).show();
Intent showItem = new Intent(getActivity(), ShowAdvert.class);
showItem.putExtra("objectId", objectIdList.get(position));
startActivity(showItem);
}
});
Ошибка:
Error:(327, 16) error: AllFragment is not abstract and does not override abstract method onItemClick(AdapterView<?>,View,int,long) in OnItemClickListener
Если я не пишу new AdapterView.OnItemClickListener()
а просто написать new OnItemClickListener()
вместо , он вызовет OnItemClickListener из внешнего класса, который я ' m не интересует. Btw начало внешнего класса выглядит так:
Зачем мне эта ошибка?
Там нет никакой связи между 'onItemClick' методом в этом анонимном классе и' AllFragment'. Вам нужно реализовать метод в «AllFragment» или удалить «инструменты» из этого класса. –