1

タイトルが示すように、別のアクティビティの別のボタンが押されたときにボタンを動的に作成する方法を探しています。これは Android SDK で行われています。

基本的に、MainActivity と SecondaryActivity の 2 つのアクティビティがあり、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 view) メソッドに配置すると、取得しようとしているフィールドに技術的にデータがないため、エラーが発生します。

当面の問題は、まだ作成されていない新しいアカウントの名前で新しい TextView フィールドを作成する必要があることです。それが理にかなっているなら。

4

1 に答える 1

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);
于 2013-07-17T21:49:26.160 に答える