2013-04-29 46 views
0

的代码是行不通的。请帮忙。该项目被添加到数据库中,数量除外。它始终为零。这是为什么?HTTP张贴到PHP不工作

String value; 

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

    EditText et = (EditText) findViewById(R.id.CreamyEdit); 
    value = et.getText().toString(); 

    Button b = (Button) findViewById(R.id.buttonCreamy); 
    b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Toast.makeText(Creamy.this, "Item Submitted", Toast.LENGTH_LONG).show(); 

      HttpClient client = new DefaultHttpClient(); 
      HttpPost post = new HttpPost(
        "http://10.0.2.2:8080/http/test.php"); 

      List<NameValuePair> pairs = new ArrayList<NameValuePair>(); 


     pairs.add(new BasicNameValuePair("item", "Creamy Delight")); //reflected in db 
     pairs.add(new BasicNameValuePair("quantity", value));   //not reflected in db 


     try { 
       post.setEntity(new UrlEncodedFormEntity(pairs)); 
      } catch (UnsupportedEncodingException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 

      try { 
       HttpResponse response = client.execute(post); 
      } catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e2) { 
       // TODO Auto-generated catch block 
       e2.printStackTrace(); 
      } 
     } 

    }); 

请帮忙!

+0

我使用姜饼(2.3.3) – Paul 2013-04-29 13:47:46

+0

向我们展示处理请求的服务器端代码。 – TomTasche 2013-04-29 14:11:08

+0

@TomeTasche Paul 2013-04-29 14:58:29

回答

0

将行value = et.getText().toString();移动到onClick方法中。如果你的onCreate调用et.getText它总是返回一个空字符串,因为这是所有这就是里面的EditText在的onCreate的时间。

+0

耶!有用!非常感谢! :) – Paul 2013-04-30 07:23:33

+0

@保罗请标记为正确的答案,如果它的工作。 :) – TomTasche 2013-04-30 11:19:47