私はXMLを使って作成した古いものに基づいて、Javaコードで新しい編集テキストを作成しようとしています。私は、この新しいエディットテキストが古いエディットテキストの右側に、私はまた、XMLで作成したイメージ図で、下に表示されるようにしたい、と私は、このためにRelativeLayoutを使用します。アンドロイドで相対レイアウトをプログラムで編集テキストを作成するにはどうすればいいですか?
private void createEditText(){
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
editText.getLayoutParams().width,
editText.getLayoutParams().height);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layoutParams.addRule(RelativeLayout.RIGHT_OF, editText.getId());
layoutParams.addRule(RelativeLayout.BELOW, imageView.getId());
final EditText newEditText = new EditText(this);
newEditText.setBackgroundResource(R.drawable.rounded_edittext);
newEditText.setLayoutParams(layoutParams);
relativeLayout.addView(newEditText);
}
しかし、新しいです編集テキストが画面上部に表示され、コードで使用したaddRule関数は無視されます。ここにRealtiveLayoutがあります:
<RelativeLayout
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center" />
私は間違っていますか? JavaコードまたはXMLファイルに間違いがありますか?
私はよく分かりませんが、 'addView'の後に' setLayoutParams'を呼び出そうとします。 –