Php 如何将所选微调器值传递到不同的url
我有两个微调器“Route”和“Station”,第二个微调器依赖于第一个微调器,因此我开发了代码,它正在工作,但现在我需要获取第二个微调器(Station)的选定微调器的值,并将其发送到另一个url服务器(php)// 但我没有找到解决办法 我尝试了使用RouteSpiner所做的操作,但没有成功,因为我没有获得所选的值Php 如何将所选微调器值传递到不同的url,php,android,spinner,Php,Android,Spinner,我有两个微调器“Route”和“Station”,第二个微调器依赖于第一个微调器,因此我开发了代码,它正在工作,但现在我需要获取第二个微调器(Station)的选定微调器的值,并将其发送到另一个url服务器(php)// 但我没有找到解决办法 我尝试了使用RouteSpiner所做的操作,但没有成功,因为我没有获得所选的值 spinnerStation = (Spinner)findViewById(R.id.spinnerStation); spinnerRoute = (Spinner)
spinnerStation = (Spinner)findViewById(R.id.spinnerStation);
spinnerRoute = (Spinner)findViewById(R.id.spinnerRoute);
stationList = new ArrayList<Station>();
spinnerRoute.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Refresh Spinner
stationList.clear();
new GetStationFromServer().execute();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
private class GetStationFromServer extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(ProfileActivity.this);
pDialog.setMessage("Fetching Data");
pDialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
routeName = spinnerRoute.getSelectedItem().toString();
Handler jsonParser = new Handler();
String json = jsonParser.makeServiceCall("http://192.168.1.2/ Android/v1/get_station.php?route="+routeName, Handler.GET);
Log.e("Response: ", "> " + json);
if (json != null) {
try {
JSONObject jsonObj = new JSONObject(json);
if (jsonObj != null) {
JSONArray station = jsonObj
.getJSONArray("station");
for (int i = 0; i < station.length(); i++) {
JSONObject modObj =(JSONObject)station.get(i);
Station mod = new Station ( modObj.getString("station"));
stationList.add(mod);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (pDialog.isShowing())
pDialog.dismiss();
populateSpinnerStation();
}
}
private void populateSpinnerStation() {
List<String> lables = new ArrayList<String>();
for (int i = 0; i < stationList.size(); i++) {
lables.add(stationList.get(i).getStation());
}
// Creating adapter for spinner
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
// Drop down layout style - list view with radio button
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinnerStation.setAdapter(spinnerAdapter);
}
spinnerStation=(Spinner)findViewById(R.id.spinnerStation);
喷丝头路线=(喷丝头)findViewById(R.id.spinnerRoute);
stationList=新的ArrayList();
spinnerRoute.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//刷新微调器
stationList.clear();
新建GetStationFromServer().execute();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
私有类GetStationFromServer扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=newprogressdialog(ProfileActivity.this);
setMessage(“获取数据”);
pDialog.show();
}
@凌驾
受保护的Void doInBackground(Void…arg0){
routeName=spinnerRoute.getSelectedItem().toString();
Handler jsonParser=new Handler();
字符串json=jsonParser.makeServiceCall(“http://192.168.1.2/ Android/v1/get_station.php?route=“+routeName,Handler.get);
Log.e(“响应:”,“>”+json);
if(json!=null){
试一试{
JSONObject jsonObj=新的JSONObject(json);
if(jsonObj!=null){
JSONArray站=jsonObj
.getJSONArray(“车站”);
对于(int i=0;i
我希望像我使用route spinner一样将所选的station微调器传递到服务器并继续我的应用程序,但它显示了一个错误“Undefined index”您是否尝试将字符串明确地传递给AsyncTask,而不是要求Async task查找所选字符串 类似于路由微调器侦听器:
spinnerRoute.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// Refresh Spinner
stationList.clear();
routeName = spinnerRoute.getSelectedItem().toString();
new GetStationFromServer().execute(routeName);
}
spinnerRoute.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
//刷新微调器
stationList.clear();
routeName=spinnerRoute.getSelectedItem().toString();
新建GetStationFromServer().execute(routeName);
}
并将异步任务更改为:
private class GetStationFromServer extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String... params) {
String s = params[0];
Handler jsonParser = new Handler();
String json = jsonParser.makeServiceCall("http://192.168.1.2/
Android/v1/get_station.php?route="+s, Handler.GET);
}
私有类GetStationFromServer扩展异步任务{
@凌驾
受保护的Void doInBackground(字符串…参数){
字符串s=params[0];
Handler jsonParser=new Handler();
字符串json=jsonParser.makeServiceCall(“http://192.168.1.2/
Android/v1/get_station.php?route=“+s,Handler.get);
}
是的,但它仍然不起作用……在php文件中,我把$station=$\u GET['station']放进去;没有?