繁体   English   中英

从MainActivity类访问另一个类的变量

[英]Access a varibale from MainActivity class to another class

我在MainActivity某个函数下有一个JSONObject ,我想在函数外部和另一个类中使用它,该怎么办?

我想public此变量,这是代码:

public void ListDrwaer() {
        List<Map<String, String>> productList = new ArrayList<Map<String, String>>();

        try {
            JSONObject jsonResponse = new JSONObject(jsonResult);
            JSONArray jsonMainNode = jsonResponse.optJSONArray("products");

            for (int i = 0; i < jsonMainNode.length(); i++) {
                JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);

            }
          //  System.out.println("*****JARRAY*****" + jsonMainNode.getJSONObject(0));
            List<Map<String, String>> productLista = new ArrayList<Map<String, String>>();
            JSONObject pro1 = jsonMainNode.getJSONObject(1);
            String data = pro1.getString("name");
        //    System.out.println("*****JARRAY*****" + data);


            System.out.println("*****JARRAY*****" + pro1);



        } catch (JSONException e) {
            Toast.makeText(getApplicationContext(), "Error" + e.toString(),
                    Toast.LENGTH_SHORT).show();
        } 

我想将pro1 (即JSONObjectpublic ,并在public void之外使用它,并在另一个类中使用它。

我可以使用put或add来做到这一点吗?

尝试下面的代码,可能会有所帮助。

Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("EXTRA_SESSION_ID", sessionId);
startActivity(intent);

您将需要先在此类任何方法外部创建变量

Static JSONObject pro1;

然后使用

classname.pro1
  1. 您可以将该变量声明为public。 刚放

    公共静态JSONObject pro1;

到你的班级声明 2.由于以下原因,这是不安全的:1.如果您的应用将被Android系统杀死并重新创建,则该变量将消失。 2.从其他线程访问该变量时应谨慎。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM