在我的活动中,我有很多按钮可以启动其他活动。问题是,当我按下按钮时,我不希望能够按下另一个按钮,因此启动2个活动(或更多)。在按下其中一个视图(按钮)后,阻止其他视图(按钮)的最佳解决方案是什么?
答案 0 :(得分:2)
在每个按钮的每个onClickListener中创建button.setDisable(true);
。
不要忘记在onResume()
中启用它们。
答案 1 :(得分:1)
为所有按钮添加一个onClickListener()
。在监听器中按照id切换动作。
public .. onClickListener(){
// Disable all buttons here..
button1.setDisabled(true);
button2.setDisabled(true);
button3.setDisabled(true);
...
switch(view.getId()){
case R.id.button1:
// Start some activiy ... or do some task...
break;
case R.id.button2:
...
break;. ...
}
不要忘记启用onResume()
public .. onResume(){
button1.setDisabled(true);
button2.setDisabled(true);
button3.setDisabled(true);
}
或者,尝试此操作以启用/禁用viewGroup中的所有视图...
private void enableDisableView(View view, boolean enabled) {
view.setEnabled(enabled);
if ( view instanceof ViewGroup ) {
ViewGroup group = (ViewGroup)view;
for ( int idx = 0 ; idx < group.getChildCount() ; idx++ ) {
enableDisableView(group.getChildAt(idx), enabled);
}
}
}
将view
参数作为包含所有按钮的父布局传递。
我没有用过这个,但这应该有效。尝试玩这个代码。
答案 2 :(得分:0)
尝试此操作以禁用按钮
button.setEnabled(false);