动态添加多个布局android

时间:2013-05-16 12:55:09

标签: android android-layout android-linearlayout

我想在点击按钮时动态添加文本视图。我已经实现了这个,但是在写入前一个时添加它。我的代码有什么问题吗?

imGbtn.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                int id =0;
                final String data   =   textView.getText().toString();
                //childHolder.title.setText(data);
                 LinearLayout ll = new LinearLayout(mContext);
                 ll.setOrientation(LinearLayout.VERTICAL);
                 ll.setId(id);
                 tvll.addView(ll);
                // TextView tv1 = new TextView(mContext);
                // tv1.setText("Dynamic layouts ftw!");
                // ll.addView(tv1);

                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                layoutParams.setMargins(25, 20, 25, 10);
                TextView tv= new TextView(mContext);
                tv.setId(id);
                tv.setText(data);
                ll.addView(tv,layoutParams);
                textView.setText("");

            }
        });

2 个答案:

答案 0 :(得分:2)

以下代码在linearlayout onclick

中添加Edittext
public class ViewOnClick extends Activity {
    LinearLayout.LayoutParams layoutParams;
    LinearLayout ll;
    static int i;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button b = (Button)findViewById(R.id.Button01);

        b.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {


     LinearLayout ll = new LinearLayout(mContext);
                 ll.setOrientation(LinearLayout.VERTICAL);
                 ll.setId(id);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                layoutParams.setMargins(25, 20, 25, 10);
                EditText view = new EditText(ViewOnClick.this);             
                view.setText(++i+" view");
                ll.addView(view, layoutParams); 

            }});
    }
}

答案 1 :(得分:0)

我建议在Java中的布局xml.Create对象中定义LinearLayout,然后在LinearLayout中单击按钮时添加textview。

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

<强>爪哇

 LinearLayout cat_linear=(LinearLayout) findViewById(R.id.list_Category);
    TextView tv = new TextView(context);
    tv.setText(category.get(i).getNAME());
    tv[i][i].setLayoutParams(new LinearLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
    cat_linear.addView(tv);