如何通过单击按钮和每个元素的 id 添加布局

Posted

技术标签:

【中文标题】如何通过单击按钮和每个元素的 id 添加布局【英文标题】:How to add a layout with the click of button and id each element 【发布时间】:2012-05-22 15:26:32 【问题描述】:

这是我的照片

如何在单击“+”按钮时以编程方式添加新布局(带有按钮和 EditText),并为每个孩子设置唯一的 ID(如图所示)。

【问题讨论】:

你需要阅读android Fundamental... 我知道 android 基础的伙伴..我类似于我如何膨胀一个视图组,然后为每个元素分配一个唯一的 id 但有问题您询问如何使用按钮和编辑文本添加新布局。这很简单...... 是的,在单击“+”按钮时添加一个按钮和文本视图...抱歉,如果问题令人困惑 正确编辑您的问题...好问题总能得到好答案。 【参考方案1】:
private Button buttonItemArray[] = new Button[50];
private EditText edtValueArray[] = new EditText[50];


            int itemId = itemCounter;
            int valueId = valueCounter;

            LinearLayout linearLayout = new LinearLayout(
                    getApplicationContext());
            linearLayout.setOrientation(0);

            buttonItemArray[j] = new Button(NewVendorDetailActivity.this);
            buttonItemArray[j].setLayoutParams(edtName.getLayoutParams());
            buttonItemArray[j].setId(itemId);
            buttonItemArray[j].setText(name);

                    edtValueArray[j] = new EditText(NewVendorDetailActivity.this);
        edtValueArray[j].setLayoutParams(edtName.getLayoutParams());
        edtValueArray[j].setId(valueId);
           edtValueArray[j].setBackgroundResource(android.R.drawable.editbox_background_normal);
        edtValueArray[j].setSingleLine(true);
        edtValueArray[j].setText(value);

        linearLayout.addView(txtItemArray[j]);
        linearLayout.addView(edtValueArray[j]);



            layout.addView(linearLayout);
            itemCounter++;
            valueCounter++;
            j++;

试试这种类型的添加按钮自定义............

【讨论】:

这一段代码写在你的添加按钮点击和你的xml中添加空白布局【参考方案2】:

请阅读以下内容,

http://www.learn-android.com/2010/01/05/android-layout-tutorial/

【讨论】:

【参考方案3】:

在xml中创建一个按钮 并在活动中像这样调用xml 按钮联系人 = (Button) findViewById(R.id.contacts); 然后为按钮创建一个 onclick 监听器 联系人.setOnClickListener(new View.OnClickListener()

        public void onClick(View v) 
            // TODO Auto-generated method stub
            Intent intent = new Intent(Contacts.Intents.Insert.ACTION,
                    Contacts.People.CONTENT_URI);
            intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
            intent.putExtra(ContactsContract.Intents.Insert.NAME, entryname);
            intent.putExtra(ContactsContract.Intents.Insert.PHONE, phone);
            startActivity(intent);
            finish();
        
    );

【讨论】:

以上是关于如何通过单击按钮和每个元素的 id 添加布局的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动添加的 Qt 元素

如何从动态添加(使用 javascript)元素中获取值?

js如何给按钮添加点击事件

如何在单击按钮时复制和添加现有的网格元素(C#WPF)

如何通过单击按钮更改 SVG 元素的颜色? [复制]

如何根据属性将元素添加到 DelegateModelGroup