我正在使用一个微调器,其适配器是动态填充的.
>当有多个项目时,微调器行为是标准行为.点击后,会显示下拉列表,允许用户选择项目
>当只有一个项目时,我想阻止下拉列表出现并捕获click事件以执行操作.
我找不到阻止默认行为的解决方案(即在点击时只显示一个项目的下拉列表).关于如何做到这一点的任何想法?
谢谢
解决方法
嗯…如果在微调器中只有一个项目,请尝试使用setClickable(fasle)或setEnabled(false).
试试这个
public class SpinnerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner = (Spinner) findViewById(R.id.spinner1); List<String> list = new ArrayList<String>(); list.add("list 1"); ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list); dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(dataAdapter); if (list.size() < 2) { spinner.setClickable(false); spinner.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v,MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { Toast.makeText(SpinnerActivity.this,"Catch it!",Toast.LENGTH_SHORT).show(); } return true; } }); } } }@H_502_8@ @H_502_8@