除了如何“使用它们”,我对泛型非常了解。在我的应用程序中,我有不同的ListView Activity,它们似乎共享类似的方法和变量,并且在执行的步骤都非常相同的意义上具有确切的“算法”。涉及泛型时继承Java代码(特别是List)?
例如在我的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;
所以真正的主要区别是,每一个不同的活动会使用不同的对象类型的列表(即游戏,媒体,文章等。 )。我会如何去做这件事?