Android 带有动态列表视图的弹出窗口
我创建了一个xml文件数组列表(xmlList),如下所示: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
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(){})