안드로이드 개발 질문/답변
(글 수 45,052)
GridView의 어뎁터를 CustomBaseAdapter로 하고 싶은데요.
실험을 해보니..
BaseAdapter에서 getCount함수를 1이상 주어지게 되면
getitemid가 6번불러지더라구요.
혹시 왜 6번이나 이걸 불러지게 되는지 아시는 분
(참고로 getCount함수의 주어지는 숫자 상관없이 무조건 6번 불러졌었습니다.)
디버그 로그파일은 파일첨부하였습니다.
실험을 해보니..
BaseAdapter에서 getCount함수를 1이상 주어지게 되면
getitemid가 6번불러지더라구요.
혹시 왜 6번이나 이걸 불러지게 되는지 아시는 분
(참고로 getCount함수의 주어지는 숫자 상관없이 무조건 6번 불러졌었습니다.)
Main.java
package com.exbaseadapter; import android.app.Activity; import android.os.Bundle; import android.widget.GridView; public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView gridview = (GridView)findViewById(R.id.GridView01); CustomBaseAdapter adapter = new CustomBaseAdapter(this); gridview.setAdapter(adapter); } }
CustomBaseAdapter.java
package com.exbaseadapter; import android.content.Context; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; public class CustomBaseAdapter extends BaseAdapter { Context mContext; public CustomBaseAdapter(Context mContext) { super(); // TODO Auto-generated constructor stub this.mContext = mContext; } @Override public int getCount() { // TODO Auto-generated method stub return 1; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub Log.i("DEBUG_TAG","id : "+position); return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub TextView text = new TextView(mContext); text.setText("id"+position); return text; } }
디버그 로그파일은 파일첨부하였습니다.
안드로이드 개발자 입니다.
많은 정보 공유 했으면 좋겠습니다^^
그리드뷰를 사용해서 sdcard에 있는 이미지를 리턴하거나 하면 그 이미지의 갯수 만큼 리턴이 될 겁니다.