【问题标题】:Parsing string from protected void onCreate method to public class main activity将字符串从受保护的 void onCreate 方法解析为公共类主要活动
【发布时间】:2019-09-05 06:56:54
【问题描述】:

我已经在公共类中声明了字符串 string1、string2、string3、string4..string7。我正在使用 onCreate 方法中的 JSON 从 MySQL 数据库中获取值,并将其存储在字符串变量 st1、st2、st3....、st7 中。

现在我需要将这些 st1 ,st2,st3,...,st7 值分别传递给 string1, string2, string3... string7。

public class MainActivity extends AppCompatActivity {
private Context mContext;
private Activity mActivity;

private CoordinatorLayout mCLayout;
private Button mButtonDo;
private TextView mTextView;
private String mJSONURLString = "http://paolo.....";

String string1, string2, string3, string4, string4, string5, string6, string7;

String seats = string1 + "" + string2 + "" + string3 + "" + string4 + "" + string5 + "" + string6 + "" + string7;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mContext = getApplicationContext();
    mActivity = MainActivity.this;

    mCLayout = (CoordinatorLayout) findViewById(R.id.coordinator_layout);

    mTextView = (TextView) findViewById(R.id.tv);
    mTextView.setText("");

    RequestQueue requestQueue = Volley.newRequestQueue(mContext);

    JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, mJSONURLString, null,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray seat) {

                    try {
                        // Loop through the array elements
                        for (int i = 0; i < seat.length(); i++) {
                            // Get current json object
                            JSONObject student = seat.getJSONObject(i);

                            String st1 = student.getString("st1");
                            String st2 = student.getString("st2");
                            String st3 = student.getString("st3");
                            String st4 = student.getString("st4");

                            String st5 = student.getString("st5");
                            String st6 = student.getString("st6");
                            String st7 = student.getString("st7");

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            });

    requestQueue.add(jsonArrayRequest);

}

}

【问题讨论】:

  • 然后?这里有什么问题 ?只需在 OnResponse() 方法中更改 strX' into stringX`

标签: java android json


【解决方案1】:

如果你正在获取 for 循环中的元素:

String st1 = student.getString("st1");
String st2 = student.getString("st2");
String st3 = student.getString("st3");
String st4 = student.getString("st4");
String st5 = student.getString("st5");
String st6 = student.getString("st6");
String st7 = student.getString("st7");

你应该把它改成:

string1 = student.getString("st1");
string2 = student.getString("st2");
string3 = student.getString("st3");
string4 = student.getString("st4");
string5 = student.getString("st5");
string6 = student.getString("st6");
string7 = student.getString("st7");

如果你想更新 UI 或其他东西,只需在 onResponse() 中添加方法我的意思是如果你想显示该文本,你可以创建一个

private void  showText(){
your_text_view1.setText(string1);
(....)
}

然后在onResponse()的末尾就放这个方法。

【讨论】:

    猜你喜欢
    • 2012-09-09
    • 1970-01-01
    • 2020-05-13
    • 2018-08-23
    • 2014-01-03
    • 2018-04-19
    • 2016-03-19
    • 2011-11-11
    • 1970-01-01
    相关资源
    最近更新 更多