2013-07-25 71 views
0

我必须spinners,并且当我启动我的应用程序时,PHP只返回微调器的第一选择的值。 第一个码是一个类(IzboraGrada.java)从另一个类别采取变量

public void addListenerOnButton() { 
     spinner1=(Spinner) findViewById(R.id.spinner1); 
     spinner2=(Spinner) findViewById(R.id.spinner2); 
     button=(Button) findViewById(R.id.button); 
     str_grad=spinner1.getSelectedItem().toString(); 
     str_predmet=spinner2.getSelectedItem().toString(); 

     button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 


      Intent i=new Intent (v.getContext(), MainActivity.class); 
      url = "http://192.168.1.102/test/spinner.php"; 
      url=url+"?grad="+str_grad+"&predmet="+str_predmet; 
      i.putExtra("URL",url); 

      startActivity(i); 

      } 
     }); 

的一部分和第二代码是MainActivity.class的一部分,这是在意图。

private void initView() { 
     // show progress dialog 
     dialog = ProgressDialog.show(this, "", "Loading..."); 

     String url = "http://192.168.1.102/test/spinner.php"; 

     Bundle extras = getIntent().getExtras(); 
     if (extras != null) { 
      url = extras.getString("URL"); 
     }   
     FetchDataTask task = new FetchDataTask(this); 
     task.execute(url); 
    } 

我认为这是因为str_grad和str_predmet没有在第二类中定义。但是如果我把str_grad和str_predmet放在第二类中,它们不能被解析为类型。任何想法该怎么办?

+2

如果您认为问题出在您的PHP上,请添加一些PHP代码。 – andrewsi

+0

我很确定它不是PHP,因为当我从本地主机启动它时,PHP工作正常。我只是因为url标记了PHP,没有别的。 –

+0

啊,我看到标签已经更新了。 – andrewsi

回答

1

看起来你在开始时调用了这个方法,在选择一个项目之前,所以我认为问题在于你设置的值是str_gradstr_predmet,因此选择的项目是默认值项目。这些是getter函数而不是侦听器。

您需要将这些线onClick()内部或使用onItemSelected()Spinners设置这些变量值

public void addListenerOnButton() { 
    spinner1=(Spinner) findViewById(R.id.spinner1); 
    spinner2=(Spinner) findViewById(R.id.spinner2); 
    button=(Button) findViewById(R.id.button); 


    button.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

     str_grad=spinner1.getSelectedItem().toString(); // move these lines here 
     str_predmet=spinner2.getSelectedItem().toString(); 

     Intent i=new Intent (v.getContext(), MainActivity.class); 
     url = "http://192.168.1.102/test/spinner.php"; 
     url=url+"?grad="+str_grad+"&predmet="+str_predmet; 
     i.putExtra("URL",url); 

     startActivity(i); 

     } 
    }); 

如果我正确理解你的问题,应该解决您的问题。

+0

你是天才:)我根本没有看到......我花了整整一天在别的地方寻找一个错误。 Tnx很多。 –