如何在android中动态创建另一个按钮

时间:2013-07-17 21:44:18

标签: android button android-activity

正如标题所述,我正在寻找如何在按下另一个活动中的另一个按钮时动态创建按钮。这是通过Android SDK完成的。

基本上,我在SecondaryActivity中有两个活动,MainActivity和SecondaryActivity,你输入一些信息,标题,文本,id等等。当您单击“保存”按钮时,它会向MainActivity发送一些信息(不是问题)。除了发送信息之外,我还需要在MainActivity中创建一个全新的按钮。

有关如何实现这一目标的任何建议?

感谢。

修改1

public void CreateNewButton(View view)
{

    LinearLayout lineLayout = (LinearLayout)findViewById(R.id.linear_layout);
    TextView newTextView = new TextView(this);
    int id = rand.nextInt(100);
    int newId;

    newTextView.setVisibility(View.VISIBLE);
    newTextView.setId( R.id.new_button + id );
    newTextView.setText("New Item");
    newTextView.setTextSize(35);
    newTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            intent = new Intent(getBaseContext(), SecondActivity.class);

            startActivity(intent);

        }
    });

    lineLayout.addView(newTextView);
}

此代码生成新的TextView(决定更改它)但现在我遇到的问题是newTextView.setText();需要从其他活动中获取文本

newTextView.setText(i.getData().toString());

将它放入CreateNewButton(View视图)方法会导致错误,因为从技术上讲,它试图从中抓取的数据中没有数据。

手头的问题是我需要创建新的TextView字段,其中包含尚未创建的新帐户的名称。如果这是有道理的。

1 个答案:

答案 0 :(得分:2)

我假设您要将此按钮添加到LinearLayout:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout1);
Button button = new Button(this);
button.setText("I'm a button!");
// add whatever other attributes you want to the button
linearLayout.addView(button);