Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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 从插件中的类扩展活动获取值_Java_Android_Cordova_Android Activity - Fatal编程技术网

Java 从插件中的类扩展活动获取值

Java 从插件中的类扩展活动获取值,java,android,cordova,android-activity,Java,Android,Cordova,Android Activity,当通过Cordova插件从一个活动跳到另一个活动时,我希望能够将额外的信息放入一个包中,并将其与意图一起传递。我似乎在获取当前活动,然后通过 public int getCounter(){return counter;} 我有一个活动定义,onCreate将计数器设置为传入包中的值 我有一个Cordova插件,我正在使用它,它将执行下一个活动的意图 public void onCreate(Bundle savedInstanceState) { int item = getInte

当通过Cordova插件从一个活动跳到另一个活动时,我希望能够将额外的信息放入一个包中,并将其与意图一起传递。我似乎在获取当前活动,然后通过

public int getCounter(){return counter;}
我有一个活动定义,onCreate将计数器设置为传入包中的值

我有一个Cordova插件,我正在使用它,它将执行下一个活动的意图

public void onCreate(Bundle savedInstanceState)
{
    int item = getIntent().getExtras().getInt("ident");
}
Echo类是一个中介,它将基于html点击在活动之间进行跳转

当我试图将计数器分配给tmp时,它似乎会导致某种seg故障,如下所示:

int tmp = ((SecondaryActivity)cordova.getActivity()).getCounter();
我做错什么了吗?我正在尝试获取当前活动,然后在该活动中调用公共函数

public void onCreate(Bundle savedInstanceState)
{
    int item = getIntent().getExtras().getInt("ident");
}

最终目标:我尝试获取一个int,并不断将它传递到intent中,递增。这样,它就会知道自己在活动链中的位置有多深。我正在进行嵌套状态保存,并对我在任何给定时间的深度感到好奇。传递到活动中的tmp将每次递增,因此它将保持一个深度。

将int存储在Bundle中并将其传递给下一个活动,而不是使用get counter创建一个类,这样会容易得多

例如:

//send item to plugin.
int item = 0; // or whatever it is
Bundle b = new Bundle();
b.put("ident", item);
Intent i = new Intent();
i.putExtras();
//...
然后是下一个活动

public void onCreate(Bundle savedInstanceState)
{
    int item = getIntent().getExtras().getInt("ident");
}
那你就可以随心所欲了。答案为总的,而上一个活动为旧的数字。这是什么意思?这意味着在将其传递给下一个活动时,您可以增加并使用它执行任何操作。它是复制的,因此您可以递增MemNet并递归存储它。甚至可以说:

if (item ==0){/*set new source for Activity*/}
else if(item == 1){/*set source 2*/}
//etc.