Android 带有动态列表视图的弹出窗口

Android 带有动态列表视图的弹出窗口,android,popupwindow,Android,Popupwindow,我创建了一个xml文件数组列表(xmlList),如下所示: private static ArrayList<File> xmlList = new ArrayList<File>(); public static ArrayList<File> XMLContact(File directory, File contactDirectory, ArrayList<Contact> myContactList) { if (!(directory

我创建了一个xml文件数组列表(xmlList),如下所示:

private static ArrayList<File> xmlList = new ArrayList<File>();
public static ArrayList<File> XMLContact(File directory, File contactDirectory,
ArrayList<Contact> myContactList) {
if (!(directory.exists())) {
directory.mkdirs();}
if (!(contactDirectory.exists())) {
contactDirectory.mkdirs();
}
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy hh-mm-ss");
String FileName = df.format(c.getTime());
File newxmlfile = new File(Environment.getExternalStorageDirectory()+ "/newfile/contactfile/"+FileName+"xml");  
xmlList.add(newxmlfile);
private static ArrayList xmlList=new ArrayList();
公共静态ArrayList XMLContact(文件目录、文件联系人目录、,
ArrayList(myContactList){
如果(!(directory.exists())){
目录.mkdirs();}
如果(!(contactDirectory.exists()){
contactDirectory.mkdirs();
}
Calendar c=Calendar.getInstance();
SimpleDateFormat df=新SimpleDateFormat(“dd-MMM-yyy-hh-mm-ss”);
字符串文件名=df.format(c.getTime());
File newxmlfile=新文件(Environment.getExternalStorageDirectory()++“/newfile/contactfile/”+文件名+“xml”);
add(newxmlfile);
然后希望在弹出窗口中显示此列表的元素(单击按钮后:button contact)

private void onClickButtonContact(View view) {
Button myButton = (Button) view.findViewById(R.id.buttonContact);
myButton.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
     xmlList = CreateContactXML.getXmlList();
     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
     for (int i =1 ; i< xmlList.size(); i++)  
     {Log.e (  null, xmlList.get(i).getAbsolutePath());
     final String path ;
     path  = xmlList.get(i).getName();
     builder.setTitle("Backup Date"); 
     builder.setItems(i, new DialogInterface.OnClickListener() {
     public void onClick(DialogInterface dialog, int item) {
     Toast.makeText(getActivity(), "Restore done for ", Toast.LENGTH_SHORT).show();                                
     }
     });
     AlertDialog alert = builder.create();
     alert.show();
}
}
}
});
}
private void onclickbutton联系人(视图){
Button myButton=(Button)view.findViewById(R.id.buttonContact);
myButton.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
xmlList=CreateContactXML.getXmlList();
AlertDialog.Builder=新建AlertDialog.Builder(getActivity());
对于(int i=1;i

列表已经创建,我可以记录它的元素。但问题是弹出窗口只包含标题

将警报中的列表显示为:

  ArrayList<String> arrfile_path=new ArrayList<String>(); 
    for (int i =1 ; i< xmlList.size(); i++)
    arrfile_path.add(xmlList.get(i).getAbsolutePath());
    builder.setTitle("Backup Date");
    builder.setItems(arrfile_path, new DialogInterface.OnClickListener() {

      // your code here
    });
ArrayList arrfile_path=new ArrayList();
对于(int i=1;i

因为当前您只将索引(i)传递给
builder.setItems

,所以我有以下错误:类型AlertDialog.builder中的方法setItems(int,DialogInterface.OnClickListener)不适用于参数(ArrayList,new DialogInterface.OnClickListener(){})