簡體   English   中英

將FrameLayout設置為在單擊按鈕時可見

[英]Set FrameLayout to visible on button click

我正在嘗試創建一個應用程序,該應用程序允許在單擊按鈕時一次顯示多個FrameLayout。

目前,我的代碼是:

int count = 0;

    if(count == 0 && view.isEnabled()) {
        FrameLayout addActivities = (FrameLayout)findViewById(R.id.frameLayout2);
        addActivities.setVisibility(View.VISIBLE);  
        count++;
    }   
    if (count == 1 && view.isEnabled()) {       
        FrameLayout addActivities2 = (FrameLayout)findViewById(R.id.frameLayout3);
        addActivities2.setVisibility(View.VISIBLE);
        count++;
    }
    if(count == 2 && view.isEnabled()) {
        FrameLayout addActivities3 = (FrameLayout)findViewById(R.id.frameLayout4);
        addActivities3.setVisibility(View.VISIBLE);
    }

當我單擊按鈕時,這基本上將使3 FrameLayouts可見,這是顯而易見的。 我基本上希望每個FrameLayout一次出現一次,即,一次單擊按鈕將生成frameLayout2,再次單擊按鈕frameLayout3,最后單擊一次frameLayout4。

謝謝你的幫助!

你應該...

A)反轉if語句的順序,或B)改為使用switch語句進行計數(更好的方式)

基本上,您正在調用所有的if語句,因為當計數增加時,您不會脫離任何循環。

count更改為成員,如果count達到3,則最終將其重置。然后,將if添加為else,如下所示:

if (count == 0 && ...) {
    ...
} else if (count == 1 && ...) {
    ...
} else if (count == 2 && ... ) {
    ...
}

您可能希望在每個if塊中將一個FrameLayout設置為View.VISIBLE ,將另外兩個設置為View.GONE ,具體取決於您要實現的效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM