android - 如何将值从 volley 的 onResponse() 存储到静态变量中
问题描述
请参阅BarChartPosNegActivity.data_str=jsonArray.toString();
我通过 PHP 文件和 volley 从 Web DB 获取数据
并将数据存储到BarChartPosNegActivity.data_str
静态变量 中
当我运行代码时,BarChartPosNegActivity.data_str
由于初始化变量,首先打印“aa”static String data_str="aa";
在我按下“返回”按钮并重新输入当前活动(使用 MPAndroidChart 的条形图屏幕)后,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 调用返回响应时,将调用此函数。
推荐阅读
- google-bigquery - 使用子选择查询按聚类字段过滤
- ajax - 如何在ajax数据上使用分页
- dropzone.js - 通过 Dropzone 上传 JSON:acceptedFiles:不识别 json
- vba - 重复重建右键菜单会引发错误
- python-3.x - 根据条件从另一个数据框列中获取值
- javascript - 有没有办法在 fetch 调用后呈现 js.erb?
- python - 如何在 python pandas 数据框中对字符串进行分组和过滤
- python - 用列表中配对字符串之前的数字替换熊猫中的字符串
- javascript - 为什么 array.map 不返回新数组?
- php - 从 mySQL DB 检索数据时如何编写 JSON 结构?