Как сделать так, чтобы значение выбора вращателя основывалось на предыдущем выбранном значении? - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть счетчик активности a, значения счетчика взяты из таблицы в базе данных. Когда пользователь выбирает значение из счетчика, оно будет сохранено в той же базе данных, но в другой таблице.

Затем есть кнопка для следующего действия, в следующем действии есть другой счетчик, но мне нужно, чтобы значение выбора счетчика отображало то, что я выбрал в предыдущем действии.

Android Код :

 String text;
String url = "http:///10.92.5.51/test/get.php";
String spinURL = "http://10.92.5.51/test/getSpin.php";
private JSONArray result;
private ArrayList<String> districts;
private ArrayList<Integer> position;
Spinner spinex;
TextView spintext;
Button uploadBtn;
Integer r;

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

    districts = new ArrayList<String>();
    spinex = (Spinner) findViewById(R.id.spiner);
    spintext = findViewById(R.id.spinText);
    uploadBtn = findViewById(R.id.btnUpload);

    getData();
    spinex.post(new Runnable() {
        @Override
        public void run() {
            spinex.setSelection(4);
        }
    });
    getPosition();
}

private void getData() {
    StringRequest stringRequest = new StringRequest(url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    JSONObject j = null;
                    try {
                        //Parsing the fetched Json String to JSON Object
                        j = new JSONObject(response);

                        //Storing the Array of JSON String to our JSON Array
                        result = j.getJSONArray("result");



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

                }
            });
    //Creating a request queue
    MySingleton.getInstance(this).addToRequestQueue(stringRequest);

}

private void getPosition() {
    StringRequest stringRequest = new StringRequest(spinURL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    JSONObject j = null;
                    try {
                        //Parsing the fetched Json String to JSON Object
                        j = new JSONObject(response);

                        //Storing the Array of JSON String to our JSON Array
                        result = j.getJSONArray("result");

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

                }
            });
    //Creating a request queue
    MySingleton.getInstance(this).addToRequestQueue(stringRequest);


}

private void getDistrict(JSONArray j) {
    //Traversing through all the items in the json array
    for (int i = 0; i < j.length(); i++) {
        try {
            //Getting json object
            JSONObject json = j.getJSONObject(i);

            //Adding the name of the student to array list
            districts.add(json.getString("city_name"));

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    spinex.setAdapter(new ArrayAdapter<String>(Main2Activity.this, android.R.layout.simple_spinner_dropdown_item, districts));
}

private void getSpinPosition(JSONArray j) {
    //Traversing through all the items in the json array

        try {
            //Getting json object
            JSONObject json = j.getJSONObject(1);

            //Adding the name of the student to array list
            r = Integer.valueOf(json.getString("city_id"));

        } catch (JSONException e) {
            e.printStackTrace();
        }
}

Вот код php:

<?php
require_once('DBConnect.php');

$sql = "select * from city ORDER BY city_id ASC";

$res = mysqli_query($con,$sql);

$result = array();

while($row = mysqli_fetch_array($res)){
    array_push($result,
        array(  
        'city_id'=>$row['city_id'],
        'city_name'=>$row['city_name'],
        )
    );
    }

echo json_encode(array("result"=>$result));

mysqli_close($con);
...