-1

ボタンが押されるたびに TextView を追加しようとしています。しかし、問題は、SMSアプリのように追加したいということです。ボタンを初めてクリックすると、TextView が画面の左側に表示されます。次にボタンをクリックすると、新しく作成された TextView が右側に表示されます。

以下のコードで試してみましたが、うまくいきませんでした。

public void sendMessage(View view){

    EditText editText=(EditText)findViewById(R.id.edit_message);
    String message=editText.getText().toString();


    LinearLayout layout=(LinearLayout)findViewById(R.id.layout01);


    TextView text=new TextView(this);
    text.setText(message);
    text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
    layout.setOrientation(LinearLayout.VERTICAL);
    if(flag){
        text.setGravity(Gravity.LEFT);          
    }
    else
        text.setGravity(Gravity.RIGHT);
    flag=!flag;
    layout.addView(text);
}

「フラグ」は、クラスの先頭で宣言されるブール型です。

編集 -

さらに2つのレイアウトを作成することは可能ですか(1つは左にTextViewを表示し、もう1つは右に表示します)。しかし、同じ画面で異なるレイアウトを使用する方法がわかりません。

ご協力いただきありがとうございます

4

1 に答える 1

0
public void sendMessage(View view){

    EditText editText=(EditText)findViewById(R.id.edit_message);
    String message=editText.getText().toString();


    LinearLayout layout=(LinearLayout)findViewById(R.id.layout01);


    TextView text=new TextView(this);
    text.setText(message);
    text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
    layout.setOrientation(LinearLayout.VERTICAL);
    if(flag){
        text.setGravity(Gravity.LEFT);
        flag=!flag;          
    }
    else
      {
        text.setGravity(Gravity.RIGHT);
    flag=!flag;
      }
    layout.addView(text);
}
于 2012-07-08T12:35:23.983 に答える