제가 만들고자 하는 커스텀 다이얼로그는

버튼을 클릭하면 여러가지 선택할 수 있는 이미지가 있는 다이얼로그를 띄우고, 거기서 이미지를 하나 선택할 수 있게 하는 것입니다.

선택할 수 있는 이미지 목록을 그리드뷰를 이용하여 띄우려고 하는데요~

 

일단 다이얼로그에 띄울 커스텀 레이아웃을 (리니어)텍스트뷰+그리드뷰로 만들었구요

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FilterDialogLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="10dp" >
   
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="이름"
        android:textSize="15sp"/>
    <GridView
        android:id="@+id/gridview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:columnWidth="90dip"
        android:numColumns="5"
        android:verticalSpacing="10dp"
        android:horizontalSpacing="10dp"
        android:stretchMode="columnWidth"
        android:gravity="center"></GridView>

</LinearLayout>

 

그러고 나서 버튼 리스너 이벤트 안에 
     showDialog(DIALOG_FILTER);

를 이용하여 다이얼로그를 띄우도록 함수호출을 했습니다. DIALOG_FILTER는 onCreateDialog 함수 안에서 띄울 다이얼로그  ID구요^^;

 

제가 알기로는 처음 다이얼로그를 생성할때는 onCreateDialog안에서 다이얼로그를 만들고 띄우는 걸로 알고 있어서, 저 함수 안에

 

 protected Dialog onCreateDialog(int id)
 {
  switch(id)
  {
  case DIALOG_FILTER:
   inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
   final LinearLayout linear = (LinearLayout)inflater.inflate(R.layout.filterdialog, null);
   return new AlertDialog.Builder(this)
   .setTitle("타이틀")
   .setIcon(R.drawable.ic_launcher)
   .setView(linear)
   .setPositiveButton("확인", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
    }
   })
   .setNegativeButton("취소", null)
   .create();
  }
  return null;
 }

이렇게 해서 다이얼로그를 띄우는 데는 성공했는데요. 물론 그리드뷰는 뜨지 않죠^^;;

제가 알고 싶은것은 제가 만든 그리드 뷰에 대한 속성이나 내용을 지정하고 나서 띄우는 방법 또는 순서에 대해 이해가 잘 가지 않아 이렇게 자문을 구해 봅니다.

setView를 통해 만든 xml을 넣는건 알겠지만 그 후에는 감이 잘 안잡히네요ㅠㅠ 도와주세요~