리스트뷰의 아이템을 클릭한다음 다이얼로그창에서 리스트뷰로 디비의 데이터를 가지고 올 수는 없나요????
탭액티비티로 두개의 탭을 구현을 했구요..
각 탭의 내용은 인텐트로 연결이 되어 있습니다.
아래의 소스는 그중 두번째탭을 클릭했을때 인텐트로 연결이 되는 페이지 소스입니다.
디비에 있는 내용을 커스텀레이아웃(ui_logview)에 ArrayAdapter로 연결해서 뿌려주는건데요...
디비에 있는 데이터를 받아와서 리스트는 잘 구현이 됩니다.... 

근데 잘 안되는게....
리스트에서 아이템을 클릭했을때 setOnItemLongClickListener으로 메뉴를 띄워주고 여기서 상세로그보기를 누르면 
알림창(Dialog)을 띄워서 여기에도 디비의 내용을 뿌려주고 싶은데요.... 
 
여러가지 방법을 시도해 보다 아래의 소스처럼 됐는데요... 
상세보기를 누르면 빈 알림창만 뜨고 알림창에 표시되어야될 내용이 현재의 리스트 화면에 출력이 되네요... 
알림창에 뷰를 올리고 싶은데.... 
방법이 없을까요????

소스에서 아래의 상세보기를 누르면 infoAlertDialogShow 함수가 호출이 되고 여기에서 
        new AlertDialog.Builder(context)
        .setTitle(alertTitle)
        .setView(getLogView(strLogIdx))
        .setNeutralButton(buttonMessage, new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dlg, int sumthin) {
                //
            }
        }).show();
위와 같이 해줬습니다.
.setView를 통해 로그를 출력할 뷰를 세팅해줬는데... 
뷰랑 알림창이 따로 노네요... 
여러 고수님들의 가르침을 부탁드립니다.

 
import java.io.File;
import java.util.ArrayList;
import com.mgmobile.android.mgutils.DbUtils;
import com.mgmobile.android.mgutils.DebugUtils;
import com.mgmobile.android.mgutils.FileUtils;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.sax.RootElement;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;

public class GpsLogViewer extends ListActivity
{
 //TAB2
 FileUtils fu = new FileUtils("/"+MGNaviMain.strFolderName+"/"+MGNaviMain.strDBName);  //파일유틸
 DbUtils du = new DbUtils(fu.AppBasicPath(),MGNaviMain.strDBName);
 
 
 Context mContext;
 private ListView addlist, addListDetail;
 private CheckBox cb;
 private ArrayList<GpsLogDBSelect> addLog = new ArrayList<GpsLogDBSelect>();
 private ArrayList<GpsLogDBSelectDetail> addDetailView = new ArrayList<GpsLogDBSelectDetail>();
 private View vDetail;
 GpsLogInfoDetail gpsLogListDetail=null;
 
 int MAX = 1000;
 String strDbLogID, strDbLogName, strWdate, strMdate;
 String strDbLogDetail_id,strDbLogDetail_date,strDbLogDetail_lat,strDbLogDetail_lng,strDbLogDetail_gps;

 @Override
 protected void onCreate(Bundle savedInstanceState) 
 {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  if (DebugUtils.LOGV) DebugUtils.v("onCreate Exec!!!!");
  
  //+++++++++++++++ 
  //++ 두번째 탭의 내용을 표시한다.
  //+++++++++++++++
  addlist = getListView();
  getTabView02();
 }
 
 @Override
 protected void onResume() 
 {
  // TODO Auto-generated method stub
  super.onResume();
  if (DebugUtils.LOGV) DebugUtils.v("onResume Exec!!!!");
 }
 
 
 /**
  * 두번째 TAB의 내용이다.
  */
 public void getTabView02()
 {
  System.gc();
  GpsLogDBSelect[] music = new GpsLogDBSelect[MAX];
  int cnt = 0;
  
     String sql="";
     sql += "SELECT * FROM tbl_loglist ORDER BY log_wdate DESC";
  
     Cursor cur = du.DBUtilsDB().rawQuery(sql, null);
  if (cur.moveToFirst())
  {
   do{
    strDbLogID = cur.getString(cur.getColumnIndex("log_id"));
    strDbLogName= cur.getString(cur.getColumnIndex("log_name"));
    strWdate = cur.getString(cur.getColumnIndex("log_wdate"));
    
    music[cnt] = new GpsLogDBSelect(strDbLogID,strDbLogName,strWdate);
    addLog.add(music[cnt]);
    cnt ++;
   }while(cur.moveToNext());
  }
  final GpsLogInfo gpsLogList = new GpsLogInfo(this, R.layout.ui_logview, addLog);
  
  setListAdapter(gpsLogList);
  addlist.setItemsCanFocus(true);
  addlist.setClickable(true);
  
  //롱클릭하면 메뉴를 띄운다.
  addlist.setOnItemLongClickListener(new OnItemLongClickListener() 
  {
   @Override
   public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {
    // TODO Auto-generated method stub
    //Toast.makeText(getApplicationContext(),"1==>"+view+"|"+position+"|"+id,Toast.LENGTH_SHORT).show();
    if (DebugUtils.LOGV) DebugUtils.v("setOnItemLongClickListener Exec!!!! ==> view:"+view+", postiton:"+position+", id:"+id);
    //addlist에 대해 Context Menu를 사용하겠다는것을 등록한다.
    registerForContextMenu(addlist);
    return false;
   }
  });
 }
 
 //리스트뷰의 항목을 클릭했을때 나오는 메뉴... 
    public void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) 
    {
     super.onCreateContextMenu(menu, v, menuInfo);
     //Toast.makeText(this,menu+"|"+v+"|"+menuInfo,Toast.LENGTH_SHORT).show();
     
     AdapterContextMenuInfo menuInfo2 = (AdapterContextMenuInfo) menuInfo; // 요부분
     TextView textView = (TextView)(menuInfo2.targetView).findViewById(R.id.lstTitle);
     String mTitle=null;
     mTitle = textView.getText().toString();
     
      //menu.setHeaderTitle("파일속성변경");  //타이틀에는 파일이름을 넣자...
      menu.setHeaderTitle("'"+mTitle+"' 관리");  //타이틀에는 파일이름을 넣자...
         menu.add(0,00,0,"상세로그보기").setIcon(R.drawable.icon);
         menu.add(0,11,0,"로그이름 변경").setIcon(R.drawable.icon);
         menu.add(0,22,0,"로그삭제").setIcon(R.drawable.icon);
    }
    
    public boolean onContextItemSelected (MenuItem item) 
    {
     AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item.getMenuInfo();   // 요부분
     TextView tvTitle = (TextView)(menuInfo.targetView).findViewById(R.id.lstTitle);  //파일명
     TextView tvIdx = (TextView)(menuInfo.targetView).findViewById(R.id.lstIdx);   //idx
     final String mTvTitle=tvTitle.getText().toString().trim();
     final String mTvIdx=tvIdx.getText().toString().trim();
     switch (item.getItemId()) 
     {
      //-------------------------------------
   // 상세로그보기
   //-------------------------------------
      case 00:  //상세로그보기 선택
       infoAlertDialogShow(GpsLogViewer.this,mTvIdx);
             return true;
     
      //-------------------------------------
      // 파일명 변경
      //-------------------------------------
      case 11:  //파일명 변경 선택
       //Toast.makeText(this,"파일명변경",Toast.LENGTH_SHORT).show();
       
       final LinearLayout linearFile = (LinearLayout) View.inflate(GpsLogViewer.this, R.layout.listview_menu_filename, null);
    final EditText etFile = (EditText)linearFile.findViewById(R.id.lst_logReName);  //사용자입력값을받기위해 Edittext를 생성한다.
       //String str = etFile.getText().toString();
    etFile.setText(mTvTitle);
       
       new AlertDialog.Builder(this)
       .setTitle("로그이름변경")
       //.setMessage(mTvTitle+"를 몇번 반복할지 회수를 숫자로만 입력해주세요")
       .setIcon(R.drawable.icon)
       .setView(linearFile)   //listview_menu_repeat.xml의 내용을 보여준다.
       .setCancelable(false)  //단말의 취소키를 눌렀을때 setCancelable가 없거나 true이면 취소키를 눌렀을때 알림창이 없어진다.
       .setPositiveButton("확인", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      
     }
    })
    .setNegativeButton("취소", null)
    .show();
       
       return true;
       
      //-------------------------------------
      // 파일삭제
      //-------------------------------------
      case 22:  //파일삭제를 선택했을때...
       //Toast.makeText(this,"파일삭제",Toast.LENGTH_SHORT).show();
      
       new AlertDialog.Builder(this)
       .setTitle("파일삭제")
       .setMessage("삭제하시면 다시는 복구할 수 없습니다.\n정말삭제하시겠습니까?")
       .setIcon(R.drawable.icon)
       .setCancelable(false)  //단말의 취소키를 눌렀을때 setCancelable가 없거나 true이면 취소키를 눌렀을때 알림창이 없어진다.
       .setPositiveButton("삭제", new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int whichButton) {
      //Log.v(LanguageRecorder.TAG,"Menu Delete File Selected!!!");
      
     }
    })
    .setNegativeButton("취소", null).show();
       
       return true;
     }
     return true;
    } 
 
 
 
 public View getLogView(String strLogIdx)
 {
  System.gc();
  GpsLogDBSelectDetail[] logViewDetail = new GpsLogDBSelectDetail[MAX];
  int cnt = 0;
  
     String sql="";
     sql += "SELECT * FROM tbl_logview WHERE log_id = '"+strLogIdx+"' ORDER BY log_date DESC";
  
     if (DebugUtils.LOGV) DebugUtils.v("getLogView ==> Query " + sql);
     
     Cursor cur = du.DBUtilsDB().rawQuery(sql, null);
  if (cur.moveToFirst())
  {
   do{
    strDbLogDetail_id = cur.getString(cur.getColumnIndex("log_id"));
    strDbLogDetail_date = cur.getString(cur.getColumnIndex("log_date"));
    strDbLogDetail_lat = cur.getString(cur.getColumnIndex("log_lat"));
    strDbLogDetail_lng = cur.getString(cur.getColumnIndex("log_lng"));
    strDbLogDetail_gps = cur.getString(cur.getColumnIndex("log_gpscon"));
    
    logViewDetail[cnt] = new GpsLogDBSelectDetail(strDbLogDetail_id,strDbLogDetail_date,strDbLogDetail_lat,strDbLogDetail_lng,strDbLogDetail_gps);
    addDetailView.add(logViewDetail[cnt]);
    cnt ++;
   }while(cur.moveToNext());
  }
  gpsLogListDetail = new GpsLogInfoDetail(GpsLogViewer.this, R.layout.ui_logview_detail, addDetailView);
  setListAdapter(gpsLogListDetail);
  return vDetail;
 }
 
 
    /****
     * 
     * @param context
     */
    private void infoAlertDialogShow(Context context, String strLogIdx) 
    {
        String alertTitle = getResources().getString(R.string.app_name);
        String buttonMessage = getResources().getString(R.string.app_name);
        
        new AlertDialog.Builder(context)
        .setTitle(alertTitle)
        .setView(getLogView(strLogIdx))
        .setNeutralButton(buttonMessage, new DialogInterface.OnClickListener() {
            
            public void onClick(DialogInterface dlg, int sumthin) {
                //
            }
        }).show();
    }
 
 /**
  * GPS Log List!!!
  */
 private class GpsLogInfo extends ArrayAdapter<GpsLogDBSelect>
 {
  private ArrayList<GpsLogDBSelect> items;
  public GpsLogInfo (Context context, int textViewId, ArrayList<GpsLogDBSelect> items)
  {
   super(context, textViewId, items);
   this.items = items;
  }
  @Override
  public View getView(int position, View view, ViewGroup parent)
  {
   View v = view;
   if(v == null)
   {
    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    //v = vi.inflate(R.layout.playlist02, null);
    v = vi.inflate(R.layout.ui_logview, null);
   }
   final GpsLogDBSelect m = items.get(position);
   if(m != null)
   {
    //cb = (CheckBox)v.findViewById(R.id.lstBtn);    //체크된 값도 디비로 관리해야긋네...
    TextView logId = (TextView)v.findViewById(R.id.lstIdx);
    //ImageView lstImg = (ImageView)v.findViewById(R.id.lstImg);
    TextView logName = (TextView)v.findViewById(R.id.lstTitle);
    TextView logDate = (TextView)v.findViewById(R.id.lstDate);
    ImageButton lstBtn = (ImageButton)v.findViewById(R.id.lstBtn);
    lstBtn.setFocusable(false);
    logId.setText("   "+m.getLogId());
    logName.setText("  "+m.getLogName());
    
    logDate.setText("   "+m.getLogWdate());
    logDate.setTextColor(Color.LTGRAY);
    
    
    //클릭하면 메일을 보낼 수 있다!
    lstBtn.setImageDrawable(getResources().getDrawable(android.R.drawable.ic_menu_send));
    lstBtn.setOnClickListener(new Button.OnClickListener() {
     public void onClick(View v) {
      
     }
    });
   }
   return v;
  }
  
 }
 
 
 
 /**
  * GPS Log Detail List!!!
  */
 private class GpsLogInfoDetail extends ArrayAdapter<GpsLogDBSelectDetail>
 {
  private ArrayList<GpsLogDBSelectDetail> items;
  public GpsLogInfoDetail (Context context, int textViewId, ArrayList<GpsLogDBSelectDetail> items)
  {
   super(context, textViewId, items);
   this.items = items;
  }
  @Override
  public View getView(int position, View view, ViewGroup parent)
  {
   vDetail = view;
   if(vDetail == null)
   {
    LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    vDetail = vi.inflate(R.layout.ui_logview_detail, null);
   }

   final GpsLogDBSelectDetail mDetail = items.get(position);
   if(mDetail != null)
   {
    TextView lstDetail_idx = (TextView)vDetail.findViewById(R.id.lstDetail_idx);   //idx
    ImageView lstDetail_img = (ImageView)vDetail.findViewById(R.id.lstDetail_img);  //이미지
    TextView lstDetail_date = (TextView)vDetail.findViewById(R.id.lstDetail_date);  //날짜
    TextView lstDetail_lat = (TextView)vDetail.findViewById(R.id.lstDetail_lat);   //위도
    TextView lstDetail_lng = (TextView)vDetail.findViewById(R.id.lstDetail_lng);   //경도
    TextView lstDetail_gpscon = (TextView)vDetail.findViewById(R.id.lstDetail_gpscon); //GPS연결
    
    lstDetail_idx.setText("   "+mDetail.getDetailLogId());
    lstDetail_img.setImageDrawable(getResources().getDrawable(android.R.drawable.ic_menu_mylocation));
    lstDetail_date.setText("  "+mDetail.getDetailLogDate());
    
    lstDetail_lat.setText("   "+mDetail.getDetailLogLat());
    lstDetail_lat.setTextColor(Color.LTGRAY);
    lstDetail_lng.setText("   "+mDetail.getDetailLogLng());
    lstDetail_lng.setTextColor(Color.LTGRAY);
    lstDetail_gpscon.setText("   "+mDetail.getDetailGpsCon());
   }
   return vDetail;
  }
  
 }
 
}

class GpsLogDBSelect
{
 private String strDbLogID;
 private String strDbLogName;
 private String strWdate;
 
 public GpsLogDBSelect(String strDbLogID,String strDbLogName,String strWdate)
 {
  this.strDbLogID = strDbLogID;
  this.strDbLogName = strDbLogName;
  this.strWdate = strWdate;
 }
 public String getLogId()
 {
  return strDbLogID;
 }
 public String getLogName()
 {
  return strDbLogName;
 }
 public String getLogWdate()
 {
  return strWdate;
 }
}

class GpsLogDBSelectDetail
{
 
 private String strDbLogDetail_id;
 private String strDbLogDetail_date;
 private String strDbLogDetail_lat;  //위도
 private String strDbLogDetail_lng;  //경도
 private String strDbLogDetail_gps;  //GPS연결(GPS, network)

 public GpsLogDBSelectDetail(String strDbLogID,String strDbLogDate,String strDbLogLat,String strDbLogLng,String strDbCpsCon)
 {
  this.strDbLogDetail_id = strDbLogID;
  this.strDbLogDetail_date = strDbLogDate;
  this.strDbLogDetail_lat = strDbLogLat;
  this.strDbLogDetail_lng = strDbLogLng;
  this.strDbLogDetail_gps = strDbCpsCon;
 }
 public String getDetailLogId()
 {
  return strDbLogDetail_id;
 }
 public String getDetailLogDate()
 {
  return strDbLogDetail_date;
 }
 public String getDetailLogLat()
 {
  return strDbLogDetail_lat;
 }
 public String getDetailLogLng()
 {
  return strDbLogDetail_lng;
 }
 public String getDetailGpsCon()
 {
  return strDbLogDetail_gps;
 }
}