2013-02-26 17 views
13

Linksボタンをアンドロイドで動的に作成する方法は?

このようなページを作成したいと思います。これらの7つのボタンはすでに存在しますが、ユーザーがさらにカテゴリ(ボタン)を追加したい場合は、+ボタンを使用し、-ボタンを使用して削除できます。 これを作るためのアイデアやチュートリアルはありますか?

答えて

22

次のように+ button- buttonのボタンonClickを削除/作成:

public void onClick(View v) { 

    switch(v.getId()){ 
    case (R.id.plusbutton): 
       Button myButton = new Button(this); 
       myButton.setText("Add Me"); 

       LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout); 
       LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
       ll.addView(myButton, lp); 
       break;. 
    case (R.id.minusbutton): 
       Button myButton = new Button(this); 
       myButton.setText("Remove Me"); 

       LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout); 
       LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
       ll.removeView(myButton, lp); 
       break; 
      } 
     } 
+0

ありがとうございましたあなたのご協力に感謝します –

+3

buttonlayoutとは何ですか?どのようにそれを作成する –

8

それは非常に簡単ですアンドロイド

LinearLayout row2 = (LinearLayout) findViewById(R.id.hll2); 
Button ivBowl = new Button(this); 
ivBowl.setText("hi"); 
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(70, 70); 
layoutParams.setMargins(5, 3, 0, 0); // left, top, right, bottom 
ivBowl.setLayoutParams(layoutParams); 
row2.addView(ivBowl); 
+1

1良い答え。 – Aravin

+0

@Aravinthありがとう仲間 – Rohit

3

に動的にボタンを作成するために、これはあります。

Button button1=new Button(context); 
    button1.setText("test"); 
    button1.setId(id); 
containerlayout.add(button1); 

希望します。

4
LinearLayout mainLayout = (LinearLayout)findViewById(R.id.yourlayoutidthatisonethepicture); 

Button addButton =new Button(this); 
addButton.setText("add"); 

mainLayout.addView(addButton); 

を削除するには、ちょうどremoveViewまたはView.GONE

+0

まだ "R.id.yourlayoutidthatisonethepicture"を取得してください私に教えてください –

+0

完了:Dありがとう男!あなたは天才です:D –

+0

私は助けることができてうれしい;) –

0
へのボタンのsetVisibilityに、この " mainLayout.addView(addButton)" に変更と同じです

動的なビュー(EditText、textviewなど)を作成する場合は、このコードを使用してアプリケーションで実行します。

MyActivity.java://your javaファイル、XMLファイルに

LinearLayout ll = (LinearLayout)findViewById(R.id.linearLayout1); 
EditText et = new EditText(v.getContext()); 
et.setText("My new Edit Text); 
et.setMinLines(1); 
et.setMaxLines(3); 
ll.addView(et); 

<LinearLayout 
android:id="@+id/linearLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_alignBottom="@+id/TextView01" 
android:layout_below="@+id/relativeLayout1" 
android:orientation="vertical" > 

関連する問題