1

グリッドビューにチェックボックスを追加するにはどうすればよいですか? 以下は私のコードですが、チェックボックスを追加し、選択したチェックボックスに基づいてアクションを実行したいのですが、どうすればよいですか?単純なアダプターにチェックボックスを追加する方法は?SimpleAdapter はデフォルトのアダプターであるため、それらを変更するにはどうすればよいですか? どうすればいいですか、助けてください

 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.newsoftwares.folderlock/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.folderlock
     /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);
4

0 に答える 0