繁体   English   中英

如何通过截击将微调器数据发送到数据库

[英]how to send spinner data by volley to database

如何通过截击将微调器数据发送到数据库?

代码全部发送没问题,只有Spinner字段不发送到数据表。

String[] Cat = {"املاک","وسایل نقلیه","لوازم الکترونیکی","مربوط به خانه","خدمات","وسایل شخصی","سرگرمی و فراغت","اجتماعی","برای کسب و کار","استخدام و کاریابی"};

String[] CatCode = {"1","2","3","4","5","6","7","8","9","10"};

String cate = "";

发送数据类:

String name,description,phone,email,city;

String[] Cat = {"املاک","وسایل نقلیه","لوازم الکترونیکی","مربوط به خانه","خدمات","وسایل شخصی","سرگرمی و فراغت","اجتماعی","برای کسب و کار","استخدام و کاریابی"};

String[] CatCode = {"1","2","3","4","5","6","7","8","9","10"};

String cate = "";

StringRequest AddAdvReq;
private String Post_Url = "http://192.168.1.102/tablo/api/get_new_adv"
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_adv);

    defineVolleyCodes();
    defineViews();
    defineClicks();

    ArrayAdapter<String> catAdapter = new ArrayAdapter<>(getApplicationContext(),R.layout.spinner_row,Cat);
    SpinCategory.setAdapter(catAdapter);
    SpinCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            cate = CatCode[position];
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            cate = CatCode[0];
        }
    });

}
//==========================
private void defineVolleyCodes() {

    AddAdvReq = new StringRequest(Request.Method.POST, Post_Url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {

                    Toast.makeText(AddAdv.this, response, Toast.LENGTH_SHORT).show();
                    finish();

                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                    Toast.makeText(AddAdv.this, error.toString(), Toast.LENGTH_SHORT).show();

                }
            }
    )
    {
        @Override
        protected Map<String, String> getParams() {
            Map<String, String> params = new HashMap<String, String>();
            //Add Post Parameters
            String STRImage = getStringImage(bitmap);
            params.put("name",name);
            params.put("description",description);
            params.put("phone",phone);
            params.put("email",email);
            params.put("city",city);
            params.put("category_id",cate);

            return params;
        }
    };

}
//==========================
private void defineViews() {

    //===========================Define All EditTexts

    ETxtName = (EditText)findViewById(R.id.etxt_name);
    ETxtDescription = (EditText)findViewById(R.id.etxt_description);
    ETxtPhone = (EditText)findViewById(R.id.etxt_phone);
    ETxtEmail = (EditText)findViewById(R.id.etxt_email);
    ETxtCity = (EditText)findViewById(R.id.etxt_city);

    //==============================Define All Buttons

    SpinCategory = (Spinner)findViewById(R.id.spin_category);

    //==============================Define All Buttons

    BtnAddAdv = (Button)findViewById(R.id.btn_add_adv);

}
//==========================
private void defineClicks() {

    BtnAddAdv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Load Fields

            name = ETxtName.getText().toString();
            description = ETxtDescription.getText().toString();
            phone = ETxtPhone.getText().toString();
            email = ETxtEmail.getText().toString();
            city = ETxtCity.getText().toString();
            cate = SpinCategory.getSelectedItem().toString();

            //Add Request To Queue
            AppController.getInstance().addToRequestQueue(AddAdvReq);
        }
    });

}

}

params.put("category_id",cate); cate = SpinCategory.getSelectedItem().toString();

有什么问题? 谢谢大家。

您将所选项目存储在此处的变量中

SpinCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            cate = CatCode[position];
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            cate = CatCode[0];
        }
    });

cate - 使用它。 在单击侦听器中,您使用可能无效的微调器中的新值覆盖它(我无法告诉您更多信息,因为我没有看到整个代码)

只需删除此cate = SpinCategory.getSelectedItem().toString(); 来自BtnAddAdv单击侦听器的行并尝试 - 也许它会起作用

希望能帮助到你。

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

    defineVolleyCodes(); // Remove heare
    defineViews();
    defineClicks(); // Remove heare

    ArrayAdapter<String> catAdapter = new ArrayAdapter<>(getApplicationContext(),R.layout.spinner_row,Cat);
    SpinCategory.setAdapter(catAdapter);

    SpinCategory.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent,
                View view, int pos, long id) {
            cate = parent.getItemAtPosition().toString();
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });   
    defineVolleyCodes();
    defineClicks();
}

请在上面的代码提到的SpinCategory之后设置此方法调用。

然后在BtnAddAdv cate= cate; 在你的代码中。

我希望它会帮助你...!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM