2015-04-03 77 views
0

我想知道什么是扩展ActionBarActivity和BaseAdapter的最佳方式?我知道Java不允许多重继承,但我需要这些才能让我的应用程序正常工作。Android:扩展ActionBarActivity和BaseAdapter的最佳方式是什么?

谢谢

+1

您不应该永远需要扩展活动和适配器。 – 2015-04-03 21:18:22

+0

为什么你希望BaseAdapter在ActionBarActivity类中扩展,当你可以使用不同的类创建单独的自定义适配器对象? – Ajeet 2015-04-03 21:18:27

+0

你在一个班上放了太多东西。创建一个适配器实例。 – 2015-04-03 21:18:40

回答

0

您需要创建一个从BaseAdapter扩展的新类。 然后在你的列表等设置你的适配器,具有:

mListView.setAdapter(mBaseAdapter);

这样总结道:Android Adapter Good Practices

0

我想知道 - 什么是扩大双方ActionBarActivity和BaseAdapter的最佳途径?

没有一种“最好”的方式来做你所要求的。

我知道,Java不允许多重继承

正确,并根据你仿佛觉得是一个很好的办法,这就是为什么多重继承不一定是最好的例子一件好事。在允许多重继承的语言中,简单地“拼接”与其功能没有直接关系的不相关类是很容易的。

仔细想想各种类别的做法以及他们为什么这样做。

Android Activity究竟是什么?总的来说,它是一个UI框架 - 其智能设计为向最终用户呈现用户界面并允许以各种方式进行交互。

Android Adapter究竟是什么?再一般地说,它是充当数据集和AdapterView之间的媒介的机制。

虽然Activity可能会向用户呈现“视图”,但它本身并不是一个真正的“视图”,因此它不直接需要任何特定的“视图”类型功能,也不需要其他功能辅助组件,如Adapter - 至少不是。实际上,从你所描述的你的Activity将需要延长ActionBarActivity,AdapterAdapterView。然而,在这一点上(如果可能的话),你将它锁定在一个点上,很难再用于任何其他目的 - 无论是这个,还是你有很多代码让它成为多-目的。

但我需要这两个才能使我的应用程序正常工作。

当然,而是一个Activity往往需要ButtonImageViewViewPager等等等等 - 这并不意味着,但是,Activity需要直接扩展任何类。

正如在对你的问题的意见已经说了,创造延伸BaseAdapter自己的自定义适配器,创建自己的活动延伸ActionBarActivity,然后使用它们,就像任何其他ActivityAdapter类。

相关问题