안녕하세요
지금 기본 갤러리 처럼 폴더 형식으로 사진들을 보여주고
폴더를 클릭하면 다시 안에 있는 사진들을 보여주는 식으로 구성하고 있습니다.
사진들은 웹 서버에 저장되어 있고요...
사진을 주소로 해서 띄우는 것 까지는 처리했습니다만...
폴더를 클릭해서 인텐트로 폴더 내부를 띄울려고 할 때
Adapter의 생성자까지만 호출되고 getView가 호출되지 않는 현상이 일어납니다.
소스코드 첨부하겠습니다.
GridView gv = (GridView) findViewById(R.id.TitleGridView);
gv.setAdapter(new CustomAdapter(this, R.layout.xml_grid_child, title_result, inner_result));
gv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
Intent it = new Intent(Photo_Activity.this, Photo2_Activity.class);
it.putExtra("address", inner_result.get(position));
startActivity(it);
}
});
이 코드에서 처럼 CustomAdapter를 구현해서 그리드뷰와 연결을 시켰습니다.
이 엑티비티에서 사용한 layout은 xml_photo_view라는 단순한 그리드뷰고요
그리고 커스텀 어뎁터 안에는 아래와 같이 두개의 생성자가 존재하고요
public CustomAdapter(Context context, int textViewResourceId, ArrayList<String> titleList, ArrayList<String> innerList) {
super(context, textViewResourceId, titleList);
...
}
public CustomAdapter(Context context, int textViewResourceId, String address) {
super(context, textViewResourceId, address);
...
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
}
요런 식으로 되어 있습니다.
마지막으로 인텐드로 넘겨받는 엑티비티에서
public class Photo2_Activity extends Activity {
String address;
@Override
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
setContentView(R.layout.xml_photo_view);
Intent it = getIntent();
address = it.getExtras().getString("address").toString();
GridView gv = (GridView) findViewById(R.id.TitleGridView);
gv.setAdapter(new CustomAdapter(this, R.layout.xml_grid_child, address));
}
}
이렇게 어뎁터를 설정해줬는데 getView가 Photo2_Activity에서만 호출이 되지 않습니다.
뭐가 문제고 어떻게 해결하는 것이 좋을까요?