2014-01-18 5 views
0

변수 (Of 클래스 "Level")를 다른 활동으로 전달하려고 시도하지만 Eclipse가이를 수락하지 않습니다. Eclipse가 의도적으로 변수를 허용하지 않습니다.

Intent i = new Intent("LevelSpelen"); 
i.putExtra("speelveld", level1); 
startActivity(i); 

이클립스 나에게주는 오류입니다 : 유형의 의도에있어서, putExtra (문자열, 부울) 인수 (문자열, 레벨) 적용되지 않습니다.

다른 변수에이 변수를 전달할 수없는 이유는 무엇입니까?

+0

오류는 정확히 무엇이 잘못되었는지, 메서드를 잘못 호출하고 있음을 알려주고 있어야합니다. 이것은 "Eclipse"와는 아무런 관련이 없으며, 모두 여러분의 putExtra (...) 메소드의 메소드 시그니처와 관련이있다. –

+0

나는 그것을 알고 있지만 어떻게 해결할 수 있습니까? Object – Matt

+2

에 대한 서명을 찾을 수 없습니다. putExtra (String, Object) 메서드가 존재하지 않기 때문에. 그러나 Level 클래스가 Serializable 또는 Parcelable 인터페이스를 구현하도록하고 putExtra (String name, Serializable value) –

답변

0

클래스에 Serializable 인터페이스를 구현하면 작동합니다. 클래스

public class CustomClass implements Serializable{ 

private static final long serialVersionUID = 1L; 
0

putExtra 방법에 대한

코드는 일반적으로 기본 데이터 타입에 대해 사용된다.

1) 객체의 속성 (Extra의 기본 데이터 유형으로)을 두 번째 활동으로 전달하고 다른 활동에 두 가지 활동을 추가하여 두 가지 활동을 동시에 수행 할 수 있습니다. 거기에있는 객체의 인스턴스.

2) 두 번째 가능성은 좀 더 재미있을 것입니다. 응용 프로그램에 일반 Application 클래스를 사용하는 대신 응용 프로그램을 확장하는 자신의 클래스를 사용할 수 있습니다. 이 클래스에서 객체를 속성으로 정의하여 모든 응용 프로그램 구성 요소에서 액세스 할 수 있도록 할 수 있습니다.

관련 문제