Android 是否可以通过禁用包装布局来禁用所有小部件?

Android 是否可以通过禁用包装布局来禁用所有小部件?,android,Android,我试图通过禁用包装relativeLayout来禁用children小部件,但这不起作用,还有其他方法吗?我认为这是必要的,因为有时我们不希望在每个子部件上都启用(xx)。那么我有可能这样做吗?还是有类似的方法?thx很多~也许你可以试试这样的东西: RelativeLayout myLayout = (RelativeLayout findViewById(R.id.linearLayout1); for ( int i = 0; i < myLayout.getCount(); i+


我试图通过禁用包装relativeLayout来禁用children小部件,但这不起作用,还有其他方法吗?我认为这是必要的,因为有时我们不希望在每个子部件上都启用(xx)。那么我有可能这样做吗?还是有类似的方法?thx很多~

也许你可以试试这样的东西:

RelativeLayout myLayout = (RelativeLayout findViewById(R.id.linearLayout1);
for ( int i = 0; i < myLayout.getCount();  i++ ){
   View view = myLayout.getChildAt(i);
   view.setEnabled(false); // Or whatever you want to do with the view.
}
RelativeLayout myLayout=(RelativeLayout findViewById(R.id.linearLayout1);
对于(int i=0;i

我相信您可以扩展layout类并实现一个新的方法来完成这项工作。此外,您可以检查以下问题:

也许您可以尝试以下方法:

RelativeLayout myLayout = (RelativeLayout findViewById(R.id.linearLayout1);
for ( int i = 0; i < myLayout.getCount();  i++ ){
   View view = myLayout.getChildAt(i);
   view.setEnabled(false); // Or whatever you want to do with the view.
}
RelativeLayout myLayout=(RelativeLayout findViewById(R.id.linearLayout1);
对于(int i=0;i

我相信您可以扩展layout类并实现一个新方法来完成这项工作。此外,您还可以检查以下问题:

假设您试图通过简单地隐藏其父级来隐藏所有子级,然后调用
setVisibility(View.go)
setVisibility(View.INVISIBLE)
在父项上。用户将无法访问父项及其所有子项。@DeeV,
setVisibility(View.INVISIBLE)
可能会使它们不可访问,但如果它们不可见,那就很奇怪了,我只想让它们变成灰色且不可访问,是吗?假设您试图通过简单地隐藏它们的父对象来隐藏所有子对象,然后调用
setVisibility(View.go)
setVisibility(View.invisible)
在父项上。用户将无法访问父项及其所有子项。@DeeV,
setVisibility(View.INVISIBLE)
可能会使它们无法访问,但如果它们不可见,那就很奇怪了,我只想让它们变成灰色且不可访问,是吗?如果我循环遍历子项,这可能会很复杂。如果一些子项已启用,一些子项已禁用,当我手动设置它们时,我应该记录每个小部件的isEnabled状态,然后恢复我的意思是,我希望当我将父面板设置为禁用时,子组件可以保持其isEnabled状态,这样当我启用父面板时,子组件仍处于其原始状态,您可以缓存该数据并稍后恢复。如果我循环子组件,这可能会很复杂。如果子组件是启用的,有些是禁用的,当我手动设置它们时,我应该记录每个小部件的isEnabled状态,然后在另一个for循环中恢复它们。我的意思是,我希望当我将父面板设置为禁用时,子组件可以保持其isEnabled状态,这样当我启用父面板时,子组件仍然处于原始状态最后,您可以缓存该数据并在以后进行恢复。