2011-06-10 83 views
1

我在RelativeLayout中有4個LinearLayouts,我也使用ImageView。當顯示ImageView時,我想禁用4個LinearLayouts及其內容。每個LinearLayout包含4個按鈕。下面顯示的是我的功能,禁用和啓用這些佈局。有人能幫我理解爲什麼這不起作用嗎?如何以編程方式禁用佈局和其內容android

private void disablelayout(final LinearLayout l1,final LinearLayout l2,final LinearLayout l3,final LinearLayout l4) 
    { 
     l1.setEnabled(false); 
     l2.setEnabled(false); 
     l3.setEnabled(false); 
     l4.setEnabled(false); 

    } 
    private void enablelayout(final LinearLayout l1,final LinearLayout l2,final LinearLayout l3,final LinearLayout l4) 
    { 
     l1.postDelayed(new Runnable(){    
      @Override    
      public void run() {     
       l1.setEnabled(true); 
       l2.setEnabled(true); 
       l3.setEnabled(true); 
       l4.setEnabled(true); 
      }   
      }, 3000); 
    } 
+0

我不想讓它invisible.layouts應該visible.but用戶不應該能夠點擊按鈕佈局日如果 – 2011-06-10 13:41:22

回答

0

使用setVisibility()來INVISIBLE或GONE。

+0

設置我的這個linearlayouts將是invisible.rt?但我不想讓它看不見 – 2011-06-10 13:35:36

+1

我認爲通過禁用你的意思是不能被看到。也許你正在尋找這樣的東西:http://stackoverflow.com/questions/3205384/android-mass-enable-disable-buttons – vipw 2011-06-11 15:44:27

0

使用這樣的:

l1.setVisibility(View.GONE); 
l2.setVisibility(View.GONE); 
l3.setVisibility(View.GONE); 
l4.setVisibility(View.GONE); 
0

集 「Clicable」 屬性對所有項目爲false。該方法是setClickable(boolean)。
之後,沒有人coul點擊它。你也可以考慮這樣一個問題:How to disable an Android button

+0

只適用於佈局或按鈕也????? – 2011-06-10 13:44:13

+0

我已經更新了答案 – woodshy 2011-06-10 13:47:29

+0

我試過這個......但是我仍然可以點擊按鈕...我已經爲佈局設置了這個屬性..那麼syi問你...是否有必要將dis設置爲所有cntrls在d佈局..它真的很難.. – 2011-06-10 13:53:11

0
Use can use this for hide the whole layout 

l1.setVisibility(View.GONE); 
l2.setVisibility(View.GONE); 
l3.setVisibility(View.GONE); 
l4.setVisibility(View.GONE); 

whenever you want to display particular layout then you can 

l1.setVisibility(View.VISIBLE); 
2
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); 
     } 
    } 
} 
相關問題