java - 从插件中扩展 Activity 的类获取值

标签 java android cordova android-activity

当通过 Cordova 插件从 Activity 跳转到 Activity 时,我希望能够将附加信息放入 bundle 中,并将其与 Intent 一起传递。我似乎在获取当前 Activity 然后通过

获取值时遇到问题
public int getCounter(){return counter;}

我有一个 Activity 定义,onCreate 会将计数器设置为传入包中的值。

我有一个 Cordova 插件,我正在使用它,它将执行下一个 Activity 的 Intent 。

Echo Class 是一个中介,它将根据 html 点击在不同的 Activity 之间跳转。

//In the Class:   public class Echo extends CordovaPlugin
private void launchSecondActivity(String data, CallbackContext cc){
    Bundle b = new Bundle();
    int tmp = ((SecondaryActivity)cordova.getActivity()).getCounter();
    tmp++;
    b.putInt("id", tmp);
    Intent i = new Intent(cordova.getActivity().getApplicationContext(), SecondaryActivity.class);
    i.putExtras(b);
    cordova.getActivity().startActivity(i);

    cc.success();
}

当我尝试将计数器分配给 tmp 时,它似乎会导致某种段错误:

int tmp = ((SecondaryActivity)cordova.getActivity()).getCounter();

我做错了什么吗?我试图获取当前 Activity 的 Activity ,然后调用该 Activity 中的公共(public)函数。

最终目标:我正在尝试获取一个 int,并不断将其传递到 Intent 中,并递增。这样,它就会知道它在 Activity 链中的深度。我正在研究嵌套状态保存,并且对我在任何给定时间所处的深度感到好奇。传入 Activity 的 tmp 每次都会递增,因此它将保持一定的深度。

最佳答案

与其创建一个带有 get counter 的类,不如将 int 存储在 Bundle 中并将其传递给下一个 Activity ,这样会容易得多。

示例:

//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();
//...

然后进行下一个 Activity 。

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

然后你就可以用它做你想做的事了。答案总体上与之前的 Activity 相同。这意味着什么?这意味着您可以在将其传递到下一个 Activity 时对其进行增量并执行任何您想要的操作。它被复制,因此您可以递增并递归存储它。甚至允许您说这样的话:

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

关于java - 从插件中扩展 Activity 的类获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17285158/

相关文章:

php - jQuery 手机 : Sending data from one page to the another

android - 手机间隙 : local notification repeat every Sunday of the week?

java - 如何在iReport中水平打印字段值?

android - Android BroadcastReceiver、ContentProvider 和 Activity 之间的数据流?

java - Android - 尝试从 Activity 2 到 Activity 1 以及从方法到方法获取数据

java - Android SQLite 从空表中获取列列表

java - android 如何处理url中的空格

java - Solrj 与 Solr Suggester

java - 默认这个 Collectors.toList 期望对象列表是什么?

javascript - Phonegap : Camera. getPicture 只返回 NATIVE_URI