Я использую Android Studio для создания приложения с использованием элемента управления GridView, который отображает различных животных. Когда я пытаюсь запустить его в эмуляторе, появляется сообщение об ошибке. «ImageAdapter не является абстрактным и не переопределяет абстрактный метод isEnabled (int) в ListAdapter» Вот мой код
открытый класс MainActivity расширяет AppCompatActivity {
Integer[] Animals = {R.drawable.dog, R.drawable.elephant, R.drawable.gorilla,
R.drawable.leopard, R.drawable.monkey, R.drawable.panda};
ImageView pic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView grid = (GridView) findViewById(R.id.gridView);
final ImageView pic = (ImageView) findViewById(R.id.imgLarge);
grid.setAdapter(new ImageAdapter(this));
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getBaseContext(),"Selected Species" + (position + 1),Toast.LENGTH_SHORT).show();
pic.setImageResource(Animals[position]);
}
});
}
public class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context c) {
context=c;
}
@Override
public int getCount() {
return Animals.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
pic = new ImageView(context);
pic.setImageResource(Animals[position]);
pic.setScaleType(ImageView.ScaleType.FIT_XY);
pic.setLayoutParams(new GridView.LayoutParams(330,300));
return pic;
}
}
}