我有一个包含微调器的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());
}
}
答案 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);