我在 DialogFragment 的帮助下创建了一个自定义的 AlergDialogAndroid Compatibility Support Package
在我的自定义对话框中,我在对话框中有一个列表视图,并且列表视图的内容是从 Android 中的 Sqlite 数据库加载的。此对话框从仅位于片段内的列表视图中弹出。
现在t,每当我点击listview(在片段内)时,都会出现一个对话框,将数据成功放入listview,但每次我每次按下listitem(在片段内)时,数据都会从数据库中加载一个对话框的列表视图 bcozonCreate is being called every time  所以我想要的是data should be loaded at once for all listitem  of listview which is inside of fragment. 
代码
每当单击片段中的列表项时,我都会调用自定义 DialogFragment
DalogFragment newFragment = TemplateToContact.newInstance("hi");
newFragment.show(getFragmentManager(), "dialog");
DialogFragment 的 OnCreate
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        contactDB = new ContactDB(getActivity().getApplicationContext());
    contactDataList = contactDB.getAllContacts();
        templateContactAdapter = new TemplateContactAdapter();
    }
在 OnCreateDialog 我创建一个自定义警报对话框,设置适配器并返回它
@Override
 public Dialog onCreateDialog(Bundle savedInstanceState) {
   LayoutInflater factory = LayoutInflater.from(getActivity());         
   View v = factory.inflate(R.layout.cdialog, null);
   builder = new AlertDialog.Builder(getActivity());
   builder.setView(v);
   templateContactDlg = builder.create();                
   templateContactList = (ListView)v.findViewById(R.id.contactDlgList);            
   templateContactList.setAdapter(templateContactAdapter);
   return templateContactDlg;
  }