0

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

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("");

            }
        });
4

2 回答 2

3

以下代码在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); 

            }});
    }
}
于 2013-05-16T13:14:27.383 回答
0

我建议LinearLayout在 Java 中定义内部布局 xml.Create 对象,然后在 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);
于 2013-05-16T13:13:15.217 回答