簡體   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