prevent微调下拉列表显示 [英] Prevent spinner dropdown to show
本文介绍了prevent微调下拉列表显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是其微调适配器动态填充。
I am using a spinner whose adapter is dynamically populated.
- 当有多个项目,微调行为的标准之一。在一点击,下拉被显示,允许用户选择一个项目
- 当只有一个项目,我想prevent下拉菜单出现,赶上click事件要执行的操作。
我找不到(上点击即显示了只有一个项目的下拉菜单)的解决方案,以prevent的默认行为。如何做到这一点任何想法?
谢谢
I can't find a solution to prevent the default behavior (i.e. showing the dropdown for only one item on a click). Any ideas on how to do this? Thanks
推荐答案
HM ...尝试使用 setClickable(FASLE)
或的setEnabled( FALSE)
如果只有一个项微调
。
hm... try to use setClickable(fasle)
or setEnabled(false)
if only one item in spinner
.
试试这个
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;
}
});
}
}
}
这篇关于prevent微调下拉列表显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文