2013-03-01 80 views
1

好吧,我有一个ListView内的DialogPreference填充CustomAdapter扩展BaseAdapter。ListView项 - 往返

当对话框第一次出现时,它显示我从Web API获得的根目录列表。一旦用户点击其中一个ListItems,我现在显示子目录。

然后加入新的ListView我这样做是为了清除当前:

lv.setAdapter(null); 

我想有那种面包屑的,用户可以在他是什么目录中看到,并能轻松点击其中一个碎屑回到那个目录。

Root > Channel > SubChannel > SubSub > Foo 

我不知道这将会或应该如何完成。我只想回去基本上,因为后退按钮会完成(虽然在这种情况下我没有使用后退按钮)。

感谢您提供正确方向的建议。

+0

如果我会实现一些这样的事情,我想我会在水平滚动视图内使用可点击的文本视图,由不可点击的“>”为您的面包屑文件路径分隔。每个文本视图将被配置为显示该特定文件路径的适当文件列表。 – 2013-03-01 11:10:47

回答

0

你现在如何处理导航?是否有一定数量的层次结构,每个层次有不同的活动,还是您在单个活动中执行所有导航?

如果每个关卡基本上只是一个与任何其他关卡无法区分的文件夹,那么您很可能会重写onBackPressed()。如果您处于顶层并想要退出活动,请调用super.onBackPressed();否则,请自行处理导航,不要调用默认实现。

如果您在每个级别都有不同的活动,并希望能够从面包屑栏中返回活动,则可以调用finish()。如果您需要返回多个级别,则必须与之前的活动进行交流,它也需要调用finish()。活动之间沟通的最佳方式是使用startActivityForResult(),setResult()和onActivityResult()。