Java 类型Intent中的方法putExtra(String,boolean)不适用于参数(String,CarouselDataItem)

Java 类型Intent中的方法putExtra(String,boolean)不适用于参数(String,CarouselDataItem),java,android,android-intent,Java,Android,Android Intent,我在eclipse中遇到一个错误 "The method putExtra(String, boolean) in the type Intent is not applicable for the arguments (String, CarouselDataItem)" 如何避免这种情况?我试图在Android中实现一个图像旋转木马,我似乎无法避免这个问题。我已经尝试将docu的类型更改为boolean,但是这只会导致更多问题 如有任何建议,我们将不胜感激 public void onIt

我在eclipse中遇到一个错误

"The method putExtra(String, boolean) in the type Intent is not applicable for the arguments (String, CarouselDataItem)"
如何避免这种情况?我试图在Android中实现一个图像旋转木马,我似乎无法避免这个问题。我已经尝试将docu的类型更改为boolean,但是这只会导致更多问题

如有任何建议,我们将不胜感激

public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
         CarouselDataItem docu =  (CarouselDataItem) m_carouselAdapter.getItem((int) arg3);

            Intent intent = null;

            if (docu .equals("John F. Kennedy"))
                intent = new Intent (MainActivity.this, Audio.class);
            if (docu .equals("Lyndon B. Johnson"))
                intent = new Intent (MainActivity.this, Video.class);
            if (docu .equals("Richard Nixon"))
                intent = new Intent (MainActivity.this, Photos.class);
            if (docu .equals("Gerald Ford"))
                intent = new Intent (MainActivity.this, Written.class); 
            if (intent != null) {
                intent.putExtra("KEY", docu );
                startActivity(intent);
            }
        };

    public void onNothingSelected(AdapterView<?> arg0) {}

}
public已选中(AdapterView arg0、View arg1、int arg2、long arg3){
CarouselDataItem docu=(CarouselDataItem)m_carouselAdapter.getItem((int)arg3);
意向=无效;
如果(docu.equals(“约翰·F·肯尼迪”))
意图=新意图(MainActivity.this,Audio.class);
如果(文件等于(“林登·B·约翰逊”))
意图=新意图(MainActivity.this、Video.class);
如果(docu.equals(“理查德·尼克松”))
意图=新意图(MainActivity.this、Photos.class);
如果(文件等于(“杰拉尔德·福特”))
意图=新意图(MainActivity.this,writed.class);
if(intent!=null){
意向。额外(“关键”,文件);
星触觉(意向);
}
};
未选择的公共无效(AdapterView arg0){}
}

无法使用docu调用putExtra,因为docu的类型为CarouselDataItem,并且在Intent中不存在名为putExtra并带有参数String和CarouselDataItem的方法。相反,让CarouselDataItem扩展Parcelable,使其能够在活动之间发送

请参阅以获取好的示例

如有任何建议,我们将不胜感激

您正试图通过活动传递自定义对象。在这种情况下,您想要在活动之间传递的任何类型的对象都必须实现或接口


Serializable更容易实现,但官方建议使用Parcelable。您可以找到更多信息。

实现可包裹界面以实现此目的。