2016-11-06 66 views
0

我正在開發一個可以進行一些計算的應用程序。它由一個水平的linearLayout組成,每個佈局有2個編輯文本和一個微調器。我想要這樣做,用戶可以在需要添加更多細節時添加帶有按鈕點擊的佈局。如何使每個按鈕點擊可見的視圖

在我的XML中,我設置了android:visibility="gone",在Java中,我設置onClick方法使「去掉」線性佈局爲view.VISIBLE。它的工作,但它使所有的線性佈局出現,一旦我點擊+按鈕。我希望它們一個接一個地出現(一個出現,另一個保持「消失」,直到我再次單擊該按鈕)

+0

每隔一段時間使用一次句號(句點)。這個詞是_button_。 – greybeard

回答

0

您可以使用Layout inflater。

創建其中添加布局和窗口小部件,你需要 其他資源文件,例如item_resource.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/linear" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" /> 

    <Button 
    android:id="@+id/btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    /> 

    <!-- other layout elements which are required --> 

</LinearLayout> 

然後擡高上述佈局務實的onClick事件

LayoutInflater inflater = (LayoutInflater)context.getSystemService 
    (Context.LAYOUT_INFLATER_SERVICE); 
    View view = inflater .inflate(R.layout.item_resource,null); 
    Button button =(Button)view.findViewById(R.id.btn); 
    button.setText(" "); // set value 

這種觀點添加到您的主佈局 例如

LinearLayout myLayout=(LinearLayout)findViewById(R.id.xx); 
mylayout.add(view); 
+0

它只有一次點擊,但如果我再次單擊按鈕它不會添加。我希望它能夠增加每個按鈕點擊的佈局。謝謝。 –

+0

如果您想在按鈕上添加新視圖,請使用RecycleView和自定義適配器。通過重寫自定義適配器的getView()方法,在按鈕單擊上向RecyleView添加新項目 – Onkar

+0

請幫助我提供示例代碼。謝謝。 –

0

在這種情況下使用片段。您可以添加任何片段以通過事件進行查看。

+0

我是Android新手請詳細詢問 –

+0

片段表示活動中的行爲或用戶界面的一部分。您可以在單個活動中組合多個片段來構建多窗格用戶界面,並在多個活動中重用片段。您可以將片段看作活動的模塊化部分,該活動有其自己的生命週期,接收自己的輸入事件以及可以在活動運行時添加或刪除的活動(有點像可以使用的「子活動」在不同的活動中重用)。 –

+0

在這裏閱讀更多關於碎片。 –

相關問題