0

我开发了一个微调器,它可以更新数据库中的值。

最初我将值设置为Q. 当我将值从更改为时QC它会在数据库中更新,并且更改会反映在 Spinner 中。

当我返回并返回同一页面时,Q将显示旧值。我该如何解决这个问题?

代码(也在paste.org上)

package com.androidlogin.ws;

import java.util.ArrayList;
import java.util.List;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.widget.TextView;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

public class InsertionExample extends Activity {
    private final String NAMESPACE = "http://xcart.com";
    private final String URL = "http://192.168.1.168:8089/XcartLogin/services/update?wsdl";
    private final String SOAP_ACTION = "http://xcart.com/insertData";
    private final String METHOD_NAME = "insertData";
    Button btninsert;
    String selectedItem;

    static final String KEY_NAME = "orderid";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.change_status);
      /*  Intent in = getIntent();

        // Get XML values from previous intent
        String orderid = in.getStringExtra(KEY_NAME);

        // Displaying all values on the screen
        TextView lblName = (TextView) findViewById(R.id.textView1);


        lblName.setText(orderid); */


        Spinner spinner = (Spinner) findViewById(R.id.spinner1);
        btninsert = (Button)findViewById(R.id.btn_insert1);
        btninsert.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                 Intent in = getIntent();
                 String orderid = in.getStringExtra(KEY_NAME);

                SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                PropertyInfo unameProp =new PropertyInfo();
                unameProp.setName("Status");//Define the variable name in the web service method
                unameProp.setValue(selectedItem);//Define value for fname variable
                unameProp.setType(String.class);//Define the type of the variable

                request.addProperty(unameProp);
                PropertyInfo idProp =new PropertyInfo();
                idProp.setName("Orderid");//Define the variable name in the web service method
                idProp.setValue(orderid);//Define value for fname variable
                idProp.setType(String.class);//Define the type of the variable
                request.addProperty(idProp);



                  SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                  envelope.setOutputSoapObject(request);
                  HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

                  try{
                   androidHttpTransport.call(SOAP_ACTION, envelope);
                      SoapPrimitive response = (SoapPrimitive)envelope.getResponse();

                     TextView result = (TextView) findViewById(R.id.textView2);
                      result.setText(response.toString());
                 }
               catch(Exception e){

               }
                  }
        });

        //attach the listener to the spinner
        spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
        //Dynamically generate a spinner data 
        createSpinnerDropDown();

    }

    //Add animals into spinner dynamically
    private void createSpinnerDropDown() {

        //get reference to the spinner from the XML layout
        Spinner spinner = (Spinner) findViewById(R.id.spinner1);

        //Array list of animals to display in the spinner
        List<String> list = new ArrayList<String>();

        list.add("Q");
        list.add("P");
        list.add("F");
        list.add("I");
        list.add("C");

        //create an ArrayAdaptar from the String Array
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, list);
        //set the view for the Drop down list
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        //set the ArrayAdapter to the spinner
        spinner.setAdapter(adapter);
        adapter.notifyDataSetChanged();
        //attach the listener to the spinner
        spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

    }






    public class MyOnItemSelectedListener implements OnItemSelectedListener {

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

             selectedItem = parent.getItemAtPosition(pos).toString();

           }


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

        }



        }

        public void onNothingSelected(AdapterView<?> parent) {
            // Do nothing.
        }
    }
4

0 回答 0