這是我的代碼,下面在網格視圖中使用了簡單的適配器。每件事情都很好,但我想在代碼中添加複選框,那麼我該怎麼做?我如何在我的簡單適配器中添加複選框?我的代碼檢查如果文件是目錄顯示圖標其他明智的顯示圖像。我只想補充複選框,以便用戶選擇複選框並刪除複選框選擇了多個圖像如何在簡單適配器中添加複選框
SimpleAdapter simpleAdapter;
GridView gridView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File photos = new File(getFilesDir(),"photos");
photos.mkdirs();
File root1 = new File("/data/data/com.myexample.folder/files/");
currentParent = root1;
currentFiles = root1.listFiles();
currentFilePath = new String[currentFiles.length];
int count = 0;
for(File f:currentFiles)
{
currentFilePath[count] = f.getAbsolutePath();
count++;
}
gridView =(GridView)findViewById(R.id.grid);
gridView.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int
position,long id) {
if(currentFiles[position].isDirectory())
{
root = new File("/data/data/com.myexample.folder
/files/"+FileName(currentFilePath[position])+"/");
Log.e("Root first",root+ " ");
currentFiles = root.listFiles();
inflateListView(currentFiles);
}
else if(currentFiles[position].isFile())
{
inflateListView(currentFiles);
}
private void inflateListView(File[] files){
List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();
for(int i=0;i<files.length;i++)
{
Map<String, Object> listItem = new HashMap<String, Object>();
if(files[i].isDirectory())
{
listItem.put("icon", R.drawable.folder);
}
else
{
listItem.put("icon", R.drawable.file);
}
listItem.put("fileName", files[i].getName());
listItems.add(listItem);
}
simpleAdapter=new SimpleAdapter(this,listItems,R.layout.line,new String[]
{"icon","fileName"},new int[]{R.id.icon,R.id.file_name});
gridView.setAdapter(simpleAdapter);
但如何?我如何根據我的代碼使用自定義適配器?即時通訊使用列表
從您的自定義適配器中擴展BaseAdapter,並將Arraylist傳遞到您的適配器構造器中以獲取數據,例如 'public class MyAdapter extends BaseAdapter { \t private Context mContext; private ArrayList> myobj; \t \t public MyAdapter(Context c,ArrayList > myobj){this.myobj = myobj; \t \t \t mContext = c; \t \t}' 並最終重寫getview()方法 –
2013-04-29 06:23:23