java - Android: Directories & sub-directory listing continuous Activity issue -


I am trying to create a directory list that shows a list of folder names. If the user clicks on the directory name and if that directory has sub-directories then a new activity will be asked to list all the sub-directories. And this process will continue. I have made the first page list, but now because it is a continuous looping process, what approach should I use whether this parental activity can call itself or do I use the initial activity for the result or viewflipper or something else Please suggest please.

edit [code added:]

main activity class

  public class main activity list extension provides OnClickListener {button ended, canceled Select, select all; See list view list; ArrayAdapter & LT; Directory & gt; Adapter; & Lt; Directory & gt; List; Hashmap & lt; String, Boolean & gt; CheckedMap; Override public null on @reate (bundle saved instainstate) {super.naught (savedinstenstate); Try {setContentView (R.layout.main); Did = (button) findViewById (R.id.bDone); Cancel = (button) FindById (R.id.bCancel); Select all = (buttons) ViewById (R.id.bSelAll); Done.setOnClickListener (this); Cancel.setOnClickListener (this); New AsyncHandler (this). Execute (); If (list! = Null) {checkedMap = new hashMap & lt; String, Boolean & gt; (); Iterator & LT; Directory & gt; I = list.iterator (); While (i.hasNext ()) {directory D = (directory) i.next (); Checked map.put (d.getName (), d.isSelected ()); }}} Hold (exception e) {toast. Make Text (it, E.Stosting (), Toast. LNNGHHORT). Show (); }} @ Override Protected click on ListItem (ListView L, VV, Int Status, Long ID) {// Super. Click on Wildlist item (L, V, Status, ID); Directory d = list.get (status); File [] subDir = d.getFile (). ListFiles (); // TODO: Update Activity} @ Click Public Zero Click (View View) {Switch (view.getId ()) {Case Rd.bd: // Update Checkmark in DB / Toast Make text (this, m_checkedMap.values ​​() .toString (), // Toast.LENGTH_LONG) .show (); break; Case R.id.bCancel: this.finish (); break; }} Public class AsyncHandler AsyncTask extension (Reference Reference; Public Async Handler (Reference C) {Reference = C;} @ Override Preserve Zero on PreExecute () {super.onPreExecute (); // Toast.MakeText (Reference, "Parsextuite () "Toast .LnnGHIHORT // // Show ();} @ Override Object doInBackground Protected (Object ... arg0) {getList (); Return Null;} @Override Secure Zero at PostExecute (Object Result) {// super. OnPostExecute (result); SetListAdapter (new element adapter File, list))}} private zero getList () {list = new ArrayList & lt; directory & gt; (); file root = new file ("/"); file [] files = root.listFiles (); For (file: files) {if (f.isDirectory () & amp; amp; f.isHidden ()) {list.add (new directory (f, f.getName ()));}}}}}   

Custom adapter

  public class element adapter ArrayAdapter {Private context reference; Private list & lt; directory & gt; list; Public element adapter , List & lt; directory & gt; list) {super (c, r. Lie .row, list); This.context = c; This.list = list; } Fixed class viewer {Protected TextView textView; Protected checkboxes checkboxes; } @ Override Public View getView (integer position, seeviewview, ViewGroup parent) {ViewHolder viewHolder = null; View View = Convertview; If (see == empty) {layoutInfleter inventor = (layout infer) reference .getSystemService (reference. LEOUT_INFLATER_SERVICE); See = inflator.inflate (R.layout.row, tap); Viewholder = New Viewholder (); ViewHolder.textView = (TextView) view.findViewById (R.id.tvElement); ViewHolder.checkBox = (checkbox) view.findViewById (R.id.checkBox1); ViewHolder.checkBox .setOnCheckedChangeListener (New On Checked Change Listener () {@Override Changed checked on Public Zero (compounded button button view, boolean is checked) See {int getPosition = (Integer) button .getTag (); List.get (getPosition) .Setset selected (buttonView.isChecked ());}}); View.setTag (viewHolder); View.setTag (R.id.tvElement, viewHolder.textView); View.setTag (R.id.checkBox1, viewHolder.checkBox); } Else {viewHolder = (viewholder) view.getTag (); } ViewHolder.checkBox.setTag (status); ViewHolder.textView.setText (list.get (status) .getName ()); ViewHolder.checkBox.setChecked (list.get (status) .isSelected ()); Return view; }}    

See the above comment by "user370305".

Comments

Popular posts from this blog

Python SQLAlchemy:AttributeError: Neither 'Column' object nor 'Comparator' object has an attribute 'schema' -

java - How not to audit a join table and related entities using Hibernate Envers? -

mongodb - CakePHP paginator ignoring order, but only for certain values -