繁体   English   中英

如何从凌空的onResponse()将值存储到静态变量中

[英]How to store value into static variable from volley's onResponse()

参见BarChartPosNegActivity.data_str=jsonArray.toString();
我通过PHP文件和凌空从Web DB获取数据
然后将数据存储到BarChartPosNegActivity.data_str静态变量中

当我运行代码时,首先,由于初始化变量static String data_str="aa";BarChartPosNegActivity.data_str打印static String data_str="aa";

在按下“后退”按钮并重新输入当前活动(使用MPAndroidChart的barchart屏幕)后, BarChartPosNegActivity.data_str打印表的数据

如何将表的数据直接存储到BarChartPosNegActivity.data_str而无需“返回屏幕并重新进入屏幕”?

public class BarChartPosNegActivity extends AppCompatActivity
{
    // ================================================================================
    ...

    // Create static variable
    static String data_str="aa";

    // ================================================================================
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {

        // ================================================================================
        super.onCreate(savedInstanceState);

        // ================================================================================
        setContentView(R.layout.activity_bar_chart_pos_neg);

        // ================================================================================
        ... 

        get_refDB_up_down_numerical_table();
        System.out.println(BarChartPosNegActivity.data_str);

        // ================================================================================
        // Create BarDataSet1 object
        BarDataSet barDataSet1=new BarDataSet(dataValues1(),"DataSet 1");

        ...

    }

    // ================================================================================
    void get_refDB_up_down_numerical_table()
    {
        Response.Listener<String> responseListener = new Response.Listener<String>()
        {
            @Override
            public void onResponse(String response)
            {
                try
                {
                    JSONArray jsonArray=new JSONArray(response);
                    BarChartPosNegActivity.data_str=jsonArray.toString();
                }
                catch (JSONException e)
                {
                    e.printStackTrace();
                }
            }
        };

        RefDBNumericRequest loginRequest = new RefDBNumericRequest(responseListener);
        RequestQueue queue = Volley.newRequestQueue(BarChartPosNegActivity.this);
        queue.add(loginRequest);
    }
}

移动此代码:

System.out.println(BarChartPosNegActivity.data_str);

// ================================================================================
// Create BarDataSet1 object
BarDataSet barDataSet1=new BarDataSet(dataValues1(),"DataSet 1");
...

进入onResponse处理程序。 当您从HTTP调用获取响应时,将调用此函数。

暂无
暂无

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

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