Ejemplo n.º 1
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    View row = convertView;
    TextView folder = null;
    CheckBox check = null;
    if (row == null) {
      LayoutInflater inflater = LayoutInflater.from(context);
      row = inflater.inflate(R.layout.folder_adapter_row, parent, false);
      folder = (TextView) row.findViewById(R.id.folder);
      folder.setOnClickListener(
          new View.OnClickListener() {

            @Override
            public void onClick(View folder) {
              int position = (Integer) folder.getTag();
              // FolderAdapter.this.clear();
              directory.browseTo(position);
              currentChecked = -1;
              FolderAdapter.this.notifyDataSetChanged();
              doneButton.setEnabled(false);
            }
          });
      check = (CheckBox) row.findViewById(R.id.checkbox);
      check.setOnCheckedChangeListener(
          new CompoundButton.OnCheckedChangeListener() {

            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
              // update last checked position
              int position = (Integer) buttonView.getTag();
              if (isChecked) currentChecked = position;
              else if (currentChecked == position) currentChecked = -1;
              FolderAdapter.this.notifyDataSetChanged();
              if (isChecked) doneButton.setEnabled(true);
            }
          });
    }
    folder = (TextView) row.findViewById(R.id.folder);
    folder.setText(directory.get(position));
    folder.setTag(new Integer(position));
    check = (CheckBox) row.findViewById(R.id.checkbox);
    // disable the "Up one level" checkbox; otherwise make sure its enabled
    if (position == 0 && !directory.isCurrentDirectoryRoot()) check.setEnabled(false);
    else check.setEnabled(true);
    check.setTag(new Integer(position));
    // set check state. only one can be checked
    boolean status = (currentChecked == position) ? true : false;
    check.setChecked(status);
    return (row);
  }
Ejemplo n.º 2
0
 void createSDcardFolderSelector() {
   wizard.removePagesAfter(1);
   // add folder listview to wizard
   wizard.addPage(R.layout.wizard_folder_pick_list);
   // enable nav buttons on that page
   wizard.setNavButtonStateOnPage(1, true, PageFlipView.LAST_PAGE);
   wizard.setDoneButtonOnClickListener(new FinishWizardButtonListener());
   // setup directory browser
   directory = new DirectoryBrowser.LocalDirectoryBrowser(this);
   // setup directory browser adapter
   directoryAdapter = new FolderAdapter(this, R.layout.folder_adapter_row, directory.list());
   directoryAdapter.setDoneButton((Button) findViewById(R.id.wizard_done_button));
   // bind adapter to browser
   directoryAdapter.setDirectoryBrowser(directory);
   // bind adapter to listview
   folderList = (ListView) wizard.findViewById(R.id.wizard_folder_list);
   folderList.setAdapter(directoryAdapter);
   directoryAdapter.notifyDataSetChanged();
 }
Ejemplo n.º 3
0
 void createDropboxList() {
   wizard.addPage(R.layout.wizard_folder_pick_list);
   wizard.enablePage(1);
   // enable nav buttons on that page
   wizard.setNavButtonStateOnPage(2, true, PageFlipView.LAST_PAGE);
   wizard.setDoneButtonOnClickListener(new FinishWizardButtonListener());
   // setup directory browser
   directory = new DirectoryBrowser.DropboxDirectoryBrowser(this, dropbox);
   // setup directory browser adapter
   directoryAdapter = new FolderAdapter(this, R.layout.folder_adapter_row, directory.list());
   directoryAdapter.setDoneButton((Button) findViewById(R.id.wizard_done_button));
   // bind adapter to browser
   directoryAdapter.setDirectoryBrowser(directory);
   // bind adapter to listview
   folderList = (ListView) wizard.findViewById(R.id.wizard_folder_list);
   folderList.setAdapter(directoryAdapter);
   directoryAdapter.notifyDataSetChanged();
   // debug
   // TODO Technically, this should be an async task app may crash
   // when list of root items is very long and network connection
   // is slow
 }
Ejemplo n.º 4
0
 public String getCheckedDirectory() {
   if (currentChecked == -1) return "";
   // (Toast.makeText(context, directory.getAbsolutePath(currentChecked),
   // Toast.LENGTH_LONG)).show();
   return directory.getAbsolutePath(currentChecked);
 }