AIDL无法找到Parcelable类的定义

时间:2013-01-10 16:47:58

标签: android class parcelable aidl

我有以下项目结构。

enter image description here

我的StockInfo.java完全没问题。

StockInfo.java(无错误)

package org.yccheok.jstock.engine;

import android.os.Parcel;
import android.os.Parcelable;

public class StockInfo implements Parcelable {
    ...
    ...

StockInfo.aidl(无错误)

package org.yccheok.jstock.engine;

parcelable StockInfo;

StockInfoObserver.aidl(错误!)

package org.yccheok.jstock.engine;

interface StockInfoObserver {

    void update(StockInfo stockInfo);
}

AutoCompleteApi.aidl(错误!)

package org.yccheok.jstock.engine;

interface AutoCompleteApi {

    void handle(String string);
    void attachStockInfoObserver(StockInfoObserver stockInfoObserver);
}

然而,Eclipse在StockInfoObserver.aidl中抱怨(它也会抱怨AutoCompleteApi.aidl,因为它无法处理StockInfoObserver.aidl),

参数stockInfo(1)未知类型StockInfo

我尝试了一个小时,但仍然无法找到,为什么在援助中StockInfo虽然我没有被识别

  1. 提供StockInfo.aidl
  2. 提供StockInfo.java
  3. 有什么想法吗?

    以下是完整的错误。

    enter image description here

    注意,AutoCompleteApi.aidl非常依赖于StockInfoObserver.aidl。这就是为什么你会看到错误。

    我分享整个项目供您参考:https://www.dropbox.com/s/0k5pe75jolv5mtq/jstock-android.zip

1 个答案:

答案 0 :(得分:7)

根据Android文档You must include an import statement for each additional type not listed above, even if they are defined in the same package as your interface

尝试将此行添加到StockInfoObserver.aidl

import org.yccheok.jstock.engine.StockInfo;