实际上我在服务器中有一个值来创建微调器。我试图为所有微调器设置setOnClickListener,但它得到错误。请参阅下面的代码。
public static Spinner[] clickspin = new Spinner[nvalue];//nvalue = 2 (get from server)
for(int i=0;i<nvalue;i++)
{
clickspin[i]=new Spinner(this);
clickspin[i].setLayoutParams(new TableRow.LayoutParams(90/*length of combo box*/, TableRow.LayoutParams.WRAP_CONTENT));
clickspin[i].setAdapter(adapter1);
clickspin[i].setId(i);
clickspin[i].setClickable(true);
clickspin[i].setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
int n = v.getId();
}
});
}
如何为每个微调器设置setOnClickListener
答案 0 :(得分:3)
使用Spinners,我们使用OnItemSelectedListener。
clickspin[i].OnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
请参阅Spinners guide。
答案 1 :(得分:1)
在您的活动中实施onClickListener
...
如果您想在每个项目中提供不同的功能,那么还要实现onItemSelectedListener