好的,我在DialogPreference中有一个ListView,其中填充了一个扩展BaseAdapter的CustomAdapter。
第一次出现对话框时,它会显示我从Web api获取的根目录列表。一旦用户点击其中一个ListItems,我现在就会显示子目录。
在添加新列表视图之前,我这样做是为了清除当前的列表视图:
lv.setAdapter(null);
我想有一个面包屑,用户可以看到他在哪个目录中,并且可以轻松点击其中一个面包屑返回该目录。
Root > Channel > SubChannel > SubSub > Foo
我不确定这是怎么做的。我只想回去,因为后退按钮会完成(虽然在这种情况下我没有使用后退按钮)。
感谢您提出正确方向的建议。
答案 0 :(得分:0)
你现在如何处理导航?层次结构中是否有一定数量的级别,每个级别有不同的活动,或者您是否在单个活动中执行所有导航?
如果每个级别基本上只是一个与其他级别无法区分的文件夹,那么您很可能想要覆盖onBackPressed()。如果您处于顶层并且想要退出活动,请调用super.onBackPressed();否则,自己处理导航,不要调用默认实现。
如果您在每个级别都有不同的活动,并希望能够从您的痕迹栏中返回活动,则可以调用finish()。如果您需要返回多个级别,则必须与之前需要调用finish()的活动进行通信。在活动之间进行通信的最佳方式是使用startActivityForResult(),setResult()和onActivityResult()。