Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse不允许故意使用变量_Java_Android_Android Intent_Android Activity - Fatal编程技术网

Java Eclipse不允许故意使用变量

Java Eclipse不允许故意使用变量,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我试图将类级别的变量传递给另一个活动,但Eclipse拒绝接受它 Intent i = new Intent("LevelSpelen"); i.putExtra("speelveld", level1); startActivity(i); 这是Eclipse给我的错误:类型Intent中的方法putExtraString,boolean不适用于参数String,Level 为什么我不能将此变量传递给另一个活动?如果您在自己的类中实现了可序列化接口,它就会工作 班级代码 public cla

我试图将类级别的变量传递给另一个活动,但Eclipse拒绝接受它

Intent i = new Intent("LevelSpelen");
i.putExtra("speelveld", level1);
startActivity(i);
这是Eclipse给我的错误:类型Intent中的方法putExtraString,boolean不适用于参数String,Level


为什么我不能将此变量传递给另一个活动?

如果您在自己的类中实现了可序列化接口,它就会工作

班级代码

public class CustomClass implements Serializable{

private static final long serialVersionUID = 1L;

putExtra方法通常用于基本数据类型。如果希望两个活动使用具有相同数据的对象,可以执行以下两种操作之一:

1将属性作为原始数据类型传递给第二个活动,并在那里构建对象的实例


2第二种可能更有趣:您可以使用自己的类来扩展应用程序,而不是为您的应用程序使用普通的应用程序类。在该类中,您可以将对象定义为属性,以便所有应用程序组件都可以访问该对象。

错误应该确切地告诉您出了什么问题,您错误地调用了该方法。请注意,这与Eclipse无关,而与putExtra的方法签名有关。。。方法。我知道,但我如何解决它?我找不到Object的签名,因为方法putExtraString,Object不存在。但是,您可以让Level类实现Serializable或Parcelable接口,并调用putExtra String name、Serializable valuearguments String、Level。哪种类型的level1?我不熟悉您的Intent类,但putExtra似乎需要第二个布尔参数,而不是Level参数。除非有其他方法可用于过载。