动态微调器消耗休息服务在OnClickListener上创建问题

时间:2014-02-25 05:47:33

标签: android spinner

我有一个包含微调器的android项目,它使用休息服务并且能够动态获取数据 问题是当我点击按钮而不是微调器时它会获取数据 我尝试在微调器上设置setOnClickListener函数,但它不起作用 代码是

    private  Context mContext=HourlyEntry.this;
private Spinner s1;
private String m_DepartmentID=null;
private ArrayList<String> m_Department_list;
private ArrayList<String> m_DepartmentID_list;


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


    s1=(Spinner)findViewById(R.id.spinner1);


    s1.setOnClickListener(this);

}





  @Override
    public void onClick(View v) {


        if (v == s1)
        {
          JSONObject login = new JSONObject();
        try
        {
        login.put("EmployeeID","1");
        //login.put("Password", etCountry.getText().toString());

        JSONObject finaldata = new JSONObject();
        finaldata.put("ProjectRequest", login);


          final ConnectToServer connect = new ConnectToServer();
            connect.extConnectToServer(HourlyEntry.this,
                             new ConnectToServer.Callback() 
            {
                public void callFinished(String result)
                {
                    //Toast.makeText(getBaseContext(), result,
                                              Toast.LENGTH_LONG).show();

                    JSONObject resp = null;
                    try 
                    {
                        resp = new JSONObject(result);
                        Toast.makeText(getBaseContext(), result, Toast.LENGTH_LONG).show();
                        JSONObject Login1Result = resp.getJSONObject("ProjectResult");
                        JSONArray DepartmentDetails = Login1Result.getJSONArray("ProjectDetails");
                        //String strMessage = Login1Result.getString("message");
                     Toast.makeText(getBaseContext(), Login1Result.getString("ProjectDetails"), Toast.LENGTH_LONG).show();
                //  List<String> list = new ArrayList<String>();
                        if (!Login1Result.getString("ProjectDetails").equalsIgnoreCase("null")) 
                    {
                        //JSONArray DepartmentDetails = Login1Result.getJSONArray("ProjectDetails");

                        m_Department_list = new ArrayList<String>();
                        m_DepartmentID_list = new ArrayList<String>();
                        for (int i = 0; i < DepartmentDetails.length(); i++) 
                        {
                            JSONObject m_DepartmentDetails = DepartmentDetails.getJSONObject(i);
                            if (!m_DepartmentDetails.getString("ProjectName").equalsIgnoreCase("null")&& !m_DepartmentDetails.getString("ProjectName").equalsIgnoreCase("")) 
                            {
                                //list.add(m_DepartmentDetails.getString("ProjectName"));
                                m_Department_list.add(m_DepartmentDetails.getString("ProjectName"));
                                //Toast.makeText(getBaseContext(), m_DepartmentDetails.getString("ProjectName"), Toast.LENGTH_LONG).show();
                            }
                            if (!m_DepartmentDetails.getString("ProjectID").equalsIgnoreCase("null")&& !m_DepartmentDetails.getString("ProjectID").equalsIgnoreCase("")) 
                            {
                                m_DepartmentID_list.add(m_DepartmentDetails.getString("ProjectID"));

                            }
                        }
                    }

                        s1 = (Spinner) findViewById(R.id.spinner1);



                        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, R.layout.spin,m_Department_list);
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

                    s1.setAdapter(adapter);
                    if (m_DepartmentID_list.contains(m_DepartmentID)) 
                    {
                        s1.setSelection(m_DepartmentID_list.indexOf(m_DepartmentID));
                    }
                    }

                    catch (final JSONException e)
                    {

                    }

                }
                    }, "http://aapnapms.azurewebsites.net/Service1/Project", finaldata,
                    "POST");
            connect.execute(finaldata);

        if(!validate())
            Toast.makeText(getBaseContext(), "Enter some data !", Toast.LENGTH_LONG).show();
        }
         catch (Exception e) {
            Log.d("InputStream", e.getLocalizedMessage());
       }


}

1 个答案:

答案 0 :(得分:0)

使用

 s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub

        }

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

        }
    });

而不是

s1.setOnClickListener(this);