【发布时间】:2016-06-14 20:13:02
【问题描述】:
我在 Android Studio 中使用 Generated Signed APK 生成文件 apk,但出现此错误:
错误:错误:此类应提供默认构造函数(不带参数的公共构造函数)(com.actua.actuaconsultores.actuamindfulness.GridImagenAdaptar) [Instantiatable]
我的班级是:
public class GridImagenAdaptar extends BaseAdapter {
private final Context mContext;
private final ArrayList<ModelImage> mGridItems;
public GridImagenAdaptar(Context mContext, ArrayList<ModelImage> mGridItems) {
this.mContext = mContext;
this.mGridItems = mGridItems;
}
public int getCount() {
return mGridItems.size();
}
public Object getItem(int position) {
return mGridItems.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
if( convertView == null)
{ // If ReusedView doesn't exist
convertView = inflatedViewWithContextInParentView(R.layout.activity_grid_imagen_adaptar, mContext, parent);
convertView.setTag("HomeMenuCell"); // Reuse Identifier
}
fillViewWithItemAtIndex(convertView, position);
return convertView;
}
private View inflatedViewWithContextInParentView(int id, Context context, ViewGroup parentView)
{
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Service.LAYOUT_INFLATER_SERVICE);
View inflatedView = inflater.inflate(id, parentView, false);
return inflatedView;
}
private void fillViewWithItemAtIndex(View reusedView, int index)
{
ModelImage item = mGridItems.get(index);
item.setId(index);
TextView title = (TextView) reusedView.findViewById(R.id.title);
title.setText(item.title);
ImageView picture = (ImageView) reusedView.findViewById(R.id.image);
int resourceID = getIDForResourceName(item.imageName);
picture.setImageResource(resourceID);
}
private int getIDForResourceName(String name)
{
try {
Class res = R.drawable.class;
Field field = res.getField(name);
int drawableId = field.getInt(null);
return drawableId;
}
catch (Exception e) {
Log.e("GridItemsAdapter", "Error: Couldn't get a drawable id.", e);
}
return -1;
}
}
有什么问题?
谢谢
【问题讨论】:
-
建议的更改不应该是必要的,这表明有问题。您是否不小心在
AndroidManifest.xml文件中引用了这个类? -
不完全确定
getIDForResourceName的用途,但您不需要反思。
标签: android constructor baseadapter