Android 基于另一个微调器填充微调器

Android 基于另一个微调器填充微调器,android,android-spinner,Android,Android Spinner,我不熟悉安卓系统 我正在尝试根据微调器1中选择的值填充微调器2。 我可以加载微调器2中的字段,但未选择值 以下是我的注册活动: package com.example.ddubusmarg; import java.util.ArrayList; import java.util.List; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.j

我不熟悉安卓系统 我正在尝试根据微调器1中选择的值填充微调器2。 我可以加载微调器2中的字段,但未选择值

以下是我的注册活动:

package com.example.ddubusmarg;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

public class SignUpActivity extends Activity implements OnItemSelectedListener {

// Progress Dialog
private ProgressDialog pDialog;

JSONParser jsonParser = new JSONParser();
EditText inputName;
EditText inputId;
EditText inputPassword;
EditText inputConfirmPassword;
EditText inputPhoneNumber;
// url to create new product
private static String url_create_product = "http://192.168.1.6/registrationjson/insertnew.php";

// JSON Node names
private static final String TAG_SUCCESS = "success";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_up);

        //spinner creation
        Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
        Spinner spinner3 = (Spinner) findViewById(R.id.spinner3);
        // Create an ArrayAdapter using the string array and a default spinner layout
        ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this,
                R.array.boarding_city, android.R.layout.simple_spinner_item);
        ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this,
                R.array.ahmedabad_routes, android.R.layout.simple_spinner_item);
        ArrayAdapter<CharSequence> adapter3 = ArrayAdapter.createFromResource(this,
                R.array.ahmedabad_RTO_boardings, android.R.layout.simple_spinner_item);
        // Specify the layout to use when the list of choices appears
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // Apply the adapter to the spinner
        spinner1.setAdapter(adapter1);
        spinner2.setAdapter(adapter2);
        spinner3.setAdapter(adapter3);

        spinner1.setOnItemSelectedListener(this);
        spinner2.setOnItemSelectedListener(this);
        spinner3.setOnItemSelectedListener(this);


    // Edit Text
    inputName = (EditText) findViewById(R.id.editText1); // name
    inputId = (EditText) findViewById(R.id.editText2); //id
    inputPassword = (EditText) findViewById(R.id.editText3); //password
    inputConfirmPassword = (EditText) findViewById(R.id.editText4); //confirm password

    //inputCity = (EditText) findViewById(R.id.spinner);  boarding city
    inputPhoneNumber = (EditText) findViewById(R.id.editText5); // phone number

    // Create button
    Button btnCreateProduct = (Button) findViewById(R.id.button1);

    // button click event
    btnCreateProduct.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            //confirming password
            String name = inputName.getText().toString();
            String id = inputId.getText().toString();
            String password = inputPassword.getText().toString();
            String confirmPassword = inputConfirmPassword.getText().toString();
            String phoneNumber = inputPhoneNumber.getText().toString();

            if(name.equals("")||id.equals("")||password.equals("")||confirmPassword.equals("")||phoneNumber.equals(""))
            {
                    Toast.makeText(getApplicationContext(), "Field(s) Vaccant", Toast.LENGTH_LONG).show();
                    return;
            }
            // check if both password matches
            if(phoneNumber.length() != 10)
            {
                Toast.makeText(getApplicationContext(), "PhoneNumber is not 10 digits", Toast.LENGTH_LONG).show();
                return;
            }
            if(!password.equals(confirmPassword))
            {
                Toast.makeText(getApplicationContext(), "Password Does Not Matches", Toast.LENGTH_LONG).show();
                return;
            }
            else
            {
            // creating new product in background thread
            new CreateNewProduct().execute();
            }
        }
    });
}

/**
 * Background Async Task to Create new product
 * */
class CreateNewProduct extends AsyncTask<String, String, String> {

    /**
     * Before starting background thread Show Progress Dialog
     * */
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(SignUpActivity.this);
        pDialog.setMessage("Inserting Record...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();
    }

    /**
     * Creating product
     * */

    //again spinner 


    protected String doInBackground(String... args) {
        String name = inputName.getText().toString();
        name = name.toUpperCase();
        String id = inputId.getText().toString();
        id = id.toUpperCase();
        String password = inputPassword.getText().toString();

        Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
        String city = spinner1.getSelectedItem().toString();

        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
        String route = spinner2.getSelectedItem().toString();

        Spinner spinner3 = (Spinner) findViewById(R.id.spinner3);
        String boarding = spinner3.getSelectedItem().toString();


        String phoneNumber = inputPhoneNumber.getText().toString();

        // Building Parameters
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("name", name));
        params.add(new BasicNameValuePair("id", id));
        params.add(new BasicNameValuePair("password", password));
        params.add(new BasicNameValuePair("city", city));
        params.add(new BasicNameValuePair("route", route));
        params.add(new BasicNameValuePair("boarding", boarding));
        params.add(new BasicNameValuePair("phoneNumber", phoneNumber));

        // getting JSON Object
        // Note that create product url accepts POST method
        JSONObject json = jsonParser.makeHttpRequest(url_create_product,
                "GET", params);

        // check log cat for response
        Log.d("Create Response", json.toString());

        // check for success tag
        try {
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
                // successfully created product
                Intent i = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(i);

                // closing this screen
                finish();
            } else {
                // failed to create product
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

    /**
     * After completing background task Dismiss the progress dialog
     * **/
    protected void onPostExecute(String file_url) {
        // dismiss the dialog once done
        pDialog.dismiss();
    }  

}
@Override
public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {

    // An item was selected. You can retrieve the selected item using
    // parent.getItemAtPosition(pos)
    Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner1.setOnItemSelectedListener(this);

    //Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
    //spinner2.setOnItemSelectedListener(this);

    //setting spinner2 based on spinner1
    String city= String.valueOf(spinner1.getSelectedItem());
    if(city.contentEquals("Ahmedabad")) {

        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this,
          R.array.ahmedabad_routes, android.R.layout.simple_spinner_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter2.notifyDataSetChanged();
        spinner2.setAdapter(adapter2);
        spinner2.setOnItemSelectedListener(this);
    }
    else if(city.contentEquals("Vadodara")) {
        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this,
          R.array.vadodara_routes, android.R.layout.simple_spinner_item);

        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter2.notifyDataSetChanged();
        spinner2.setAdapter(adapter2);
        spinner2.setOnItemSelectedListener(this);
    }


    Spinner spinner3 = (Spinner) findViewById(R.id.spinner3);
    spinner3.setOnItemSelectedListener(this);
}

public void onNothingSelected(AdapterView<?> parent) {
    // Another interface callback
}


}
package com.example.ddubusmarg;
导入java.util.ArrayList;
导入java.util.List;
导入org.apache.http.NameValuePair;
导入org.apache.http.message.BasicNameValuePair;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Spinner;
导入android.widget.Toast;
公共类SignUpActivity扩展了活动实现OnItemSelectedListener{
//进度对话框
私人对话;
JSONParser JSONParser=新的JSONParser();
编辑文本输入名;
编辑文本输入;
编辑文本输入密码;
编辑文本输入确认密码;
编辑文本输入电话号码;
//创建新产品的url
私有静态字符串url\u创建\u产品=”http://192.168.1.6/registrationjson/insertnew.php";
//JSON节点名称
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u注册);
//旋转器创建
喷丝器喷丝器1=(喷丝器)findViewById(R.id.spinner1);
喷丝器喷丝器2=(喷丝器)findViewById(R.id.spinner2);
喷丝器喷丝器3=(喷丝器)findViewById(R.id.spinner3);
//使用字符串数组和默认微调器布局创建ArrayAdapter
ArrayAdapter adapter1=ArrayAdapter.createFromResource(此,
R.array.boarding_city,android.R.layout.simple_spinner_item);
ArrayAdapter adapter2=ArrayAdapter.createFromResource(此,
R.array.ahmedabad_路由,android.R.layout.simple_微调器_项);
ArrayAdapter adapter3=ArrayAdapter.createFromResource(此,
R.array.ahmedabad_RTO_boardings,android.R.layout.simple_spinner_item);
//指定显示选项列表时要使用的布局
adapter1.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
adapter2.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
adapter3.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
//将适配器应用于微调器
喷丝头1.设置适配器(适配器1);
喷丝头2.设置适配器(适配器2);
喷丝头3.设置适配器(适配器3);
喷丝头1.SetonimSelectedListener(此);
喷丝头2.SetonimSelectedListener(此);
喷丝头3.SetonimSelectedListener(此);
//编辑文本
inputName=(EditText)findViewById(R.id.editText1);//名称
inputId=(EditText)findViewById(R.id.editText2);//id
inputPassword=(EditText)findViewById(R.id.editText3);//密码
inputConfirmPassword=(EditText)findViewById(R.id.editText4);//确认密码
//inputCity=(EditText)findViewById(R.id.spinner);登机城市
inputPhoneNumber=(EditText)findViewById(R.id.editText5);//电话号码
//创建按钮
按钮btnCreateProduct=(按钮)findViewById(R.id.button1);
//按钮点击事件
btnCreateProduct.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
//确认密码
字符串名称=inputName.getText().toString();
字符串id=inputId.getText().toString();
字符串密码=inputPassword.getText().toString();
字符串confirmPassword=inputConfirmPassword.getText().toString();
字符串phoneNumber=inputPhoneNumber.getText().toString();
if(name.equals(“”)| id.equals(“”)| password.equals(“”)| confirmPassword.equals(“”)| phoneNumber.equals(“”)
{
Toast.makeText(getApplicationContext(),“字段”为空,Toast.LENGTH_LONG.show();
回来
}
//检查两个密码是否匹配
如果(phoneNumber.length()!=10)
{
Toast.makeText(getApplicationContext(),“电话号码不是10位数”,Toast.LENGTH_LONG.show();
回来
}
如果(!password.equals(confirmPassword))
{
Toast.makeText(getApplicationContext(),“密码不匹配”,Toast.LENGTH_LONG.show();
回来
}
其他的
{
//在后台线程中创建新产品
新建CreateNewProduct().execute();
}
}
});
}
/**
*创建新产品的后台异步任务
* */
类CreateNewProduct扩展了AsyncTask{
/**
*在启动后台线程显示进度对话框之前
* */
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=newprogressdialog(SignUpActivity.this);
setMessage(“插入记录…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
/**
*创造产品
* */
//又是纺纱机
受保护的字符串doInBackground(字符串…args){
字符串名称=inputName.getText().toString();
name=name.toUpperCase();
字符串id=inputId.getText().toString();
id=id.toUpperCase();
字符串密码=inputPassword.getText().toString();
喷丝器喷丝器1=(喷丝器)findViewById(R.id.spinner1);
String city=spinner1.getSelectedItem().toString();
喷丝器喷丝器2=(喷丝器)findViewById(R.id.spinner2)
public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
switch(view.getId()){
case R.id.spinner1id:
 //do spinner 1 action based on pos and id
case R.id.spinner2id:
 //do spinner 2 action based on pos and id
case R.id.spinner3id:
 //do spinner 3 action based on pos and id
}
}