Android 无法在列表视图中更新当前适配器
我正在尝试继续添加不同的文件以添加到我的列表视图。。。我可以将一个文件添加到我的listView中,但当我选择另一个文件上载时,它会删除旧项目并用新文件覆盖它。。。我想继续添加到我的列表中而不删除任何内容。。。我知道我需要更新我当前的适配器,但我不知道如何更新 以下是我所拥有的:Android 无法在列表视图中更新当前适配器,android,listview,arraylist,android-arrayadapter,Android,Listview,Arraylist,Android Arrayadapter,我正在尝试继续添加不同的文件以添加到我的列表视图。。。我可以将一个文件添加到我的listView中,但当我选择另一个文件上载时,它会删除旧项目并用新文件覆盖它。。。我想继续添加到我的列表中而不删除任何内容。。。我知道我需要更新我当前的适配器,但我不知道如何更新 以下是我所拥有的: //update List final ArrayList<Uri>FileUpload = new ArrayList<Uri>();
//update List
final ArrayList<Uri>FileUpload = new ArrayList<Uri>();
final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,FileUpload);
// adapter.add(uri.getPath());
lv=(ListView)findViewById(R.id.ListViewUpload);
//Upload to list button with selected file
Button uploadList = (Button) findViewById(R.id.UpdateList);
uploadList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lv=(ListView)findViewById(R.id.ListViewUpload);
lv.setAdapter(adapter);
adapter.add(uri.getPath());
((BaseAdapter) lv.getAdapter()).notifyDataSetChanged();
Toast.makeText(dropBox.this, "File Added", Toast.LENGTH_SHORT).show();
}
});
//更新列表
最终ArrayListFileUpload=新建ArrayList();
最终ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,FileUpload);
//add(uri.getPath());
lv=(ListView)findViewById(R.id.ListViewUpload);
//带有选定文件的“上载到列表”按钮
按钮上传列表=(按钮)findViewById(R.id.UpdateList);
uploadList.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
lv=(ListView)findViewById(R.id.ListViewUpload);
低压设置适配器(适配器);
add(uri.getPath());
((BaseAdapter)lv.getAdapter()).notifyDataSetChanged();
Toast.makeText(dropBox.this,“添加文件”,Toast.LENGTH_SHORT.show();
}
});
修改代码,无需在每次添加项目时设置适配器。试试这个:
Button uploadList = (Button) findViewById(R.id.UpdateList);
uploadList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
adapter.add(uri.getPath());
adapter.notifyDataSetChanged();
Toast.makeText(dropBox.this, "File Added", Toast.LENGTH_SHORT).show();
}
});
我想我可能不得不修改我的代码的其余部分,这里没有显示。。。我觉得我有正确的组件,但还有一些东西需要调试