【发布时间】:2010-07-14 08:38:04
【问题描述】:
除了如何“使用它们”之外,我对泛型知之甚少。在我的应用程序中,我有各种 ListView Activity,它们似乎共享相似的方法和变量,并且具有确切的“算法”,因为执行的步骤都非常相同。
例如,在我的 onCreate 方法中,我调用一个方法来添加页脚,启动一个进度对话框,调用一个基于 xml url 获取内容的方法,并且有一个 Handler 和 Runnable 字段用于调用该方法xml解析完成后为列表填充数据。
我在想也许我可以创建一个 BaseListActivity 来完成所有这些事情/对所有这些事情都有方法,并且每个特定的 ListActivity 都可以从中扩展。问题是他们使用 List 对象来保存 xml 解析的项目以及 ListAdapter 所支持的项目。
所以这里是使用的字段的代码:
// list of games from xml
private List<Game> mGames = new ArrayList<Game>();
private List<Game> mNewGames = null;
// Need handler for callbacks to the UI thread
private final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateResults = new Runnable() {
public void run() {
mGames.addAll(mNewGames);
fillData();
}
};
LayoutInflater mInflater = null;
private ProgressDialog mProgressDialog = null;
private int currentPage = 0;
所以真正的主要区别在于每个不同的活动将使用不同的对象类型作为列表(即游戏、媒体、文章等)。我该怎么做呢?
【问题讨论】:
标签: java android generics inheritance oop