0
我在一个类内部有一个片段,因为它是ViewPager的一部分。 但是,在我的外部类中,我正在实现来自NavigationDrawer的第三部分库的OnItemClickListener。但在我的内部类中,我有一个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,顺便说一句,外部类开始看起来像这样:
public class MainActivity extends NavigationLiveo implements
br.liveo.interfaces.OnItemClickListener {
为什么我得到这个错误?
有在匿名类的'onItemClick'方法和'AllFragment'之间没有任何关系。您需要在'AllFragment'中实现该方法,或者从该类中移除'implements'。 –