2016-06-14 1 views
0

에 내가 안드로이드 스튜디오에서 APK 서명 생성하여 파일 APK를 생성하고 제공해야하지만,이 오류가 있습니다오류 :이 클래스는 기본 생성자 (인수가없는 public 생성자) Instantiatable] 안드로이드

Error:Error: This class should provide a default constructor (a public constructor with no arguments) (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; 
    } 
} 

문제가 무엇입니까? 클래스에

public GridImagenAdaptar(){} 

, 당신의 생성자와 :이 오류는 의미

감사

+3

권고 된 변경이 필요하지 않아야하며, 이는 잘못된 것이 있음을 나타냅니다. 실수로이 클래스를'AndroidManifest.xml' 파일에서 참조합니까? – CommonsWare

+0

'getIDForResourceName'이 무엇을위한 것인지는 완전히 모르지만 그렇게하기 위해 리플렉션이 필요하지 않습니다. –

답변

1

당신은 추가해야합니다.

+0

대단히 감사합니다 !!! – elvega

+0

귀하의 질문에 답변이 있으면 도움이되기 때문에 기쁩니다. 대답을 수락하면 호의를 돌려 줄 수 있습니다. – Sunshinator