如果突出显示Drodio (Android )和mash Ctrl+N中的类,它将向您展示该类的继承层次结构,就像AsyncTask一样:

这似乎表明AsyncTaskLoader继承自AsyncTaskLoader?是真地吗?如果是的话,那是故意的吗?或者这是怎么回事?
更新
我的错;我在贴士里读到了"Ctrl+N“,上面写着"Ctrl+H”。以下是你对后者的看法:

(但仍不只是我所期望的)
发布于 2014-05-15 20:00:03
准确地回答这个问题需要更多地了解您的项目(想必是hhs.app)。然而,Drodio的层次结构确实发现了PersistHistoryAsyncTask,它是ActivityChooserModel的一个私有内部类,由于它是一个私有类,所以在Android文档中没有列出它,所以我在最初的响应中没有提到从AsyncTask继承的类(如下所示)。
假设RESTfulActivity、SQLiteActivity、MainActivity和DeliveryItemActivity中列出的内部类都扩展了AsyncTask,那么第二个屏幕截图中的结果是完全可以预料的。AsyncTask不继承任何东西(显然,Object除外),而且您有9个类扩展了AsyncTask。因此,您有非常简单的层次结构:
java.lang.Object
|
+-- android.os.AsyncTask
|
+-- hhs.app.RESTfulActivity.PostDeliveryItemTask
|
+-- hhs.app.SQLiteActivity.FetchAndPopTask
|
+-- hhs.app.MainActivity.GetVendorsTask
|
+-- hhs.app.DeliveryItemActivity.PostDeliveryItemTask
|
+-- etc...原来的答案:
您将看到两个不同的类:android.content.AsyncTaskLoader和android.support.v4.content.AsyncTaskLoader。
前者是:
提供了一个
AsyncTask来完成工作的抽象加载器。
后者是:
静态库支持框架的
AsyncTaskLoader版本。用于编写运行在Android3.0之前平台上的应用程序。
两个AsyncTaskLoader类都是从同一个包中名为Loader的类继承的,而两个Loader类则继承自Object。这些类中没有一个实现任何接口。
您可以在grepcode.com上看到这两个类的源代码:
这两个类都不是以我所能看到的任何方式耦合到另一个类的。支持版本导入android.content.Context,但是Context在自己的包中不对AsyncTaskLoader做任何事情。
尽管如此,你发布的Drodio的功能并不是想要成为继承树。更确切地说,这是一种班级搜索。您已经高亮显示了AsyncTask,搜索结果显示了以"AsyncTask“开头的其他3个类,以"AsyncTask”结尾的两个类,以“异步”开头并以“任务”结尾的类(除了实际的AsyncTask类之外)。考虑到AsyncTask没有继承任何这些类(AsyncTask没有扩展或实现任何东西),这些类也没有从AsyncTask继承(在android.*中没有扩展AsyncTask的类),很明显,Drodio的这个特性与继承无关。
Driodo没有显示您自己的AsyncTask的具体实现,这一事实似乎是棺材中的最后一道钉子,特别是因为您的游标位于定义子类的直线上。(虽然并非所有IDE都可以将用户定义的函数合并到文档弹出中,但大多数IDE至少能够在同一个文件中处理事情。)
https://stackoverflow.com/questions/23686881
复制相似问题