メールアドレス、電話番号を追加するContactApplicationを開発しています。コード自体で動的に編集テキストを作成する必要があります。このロジックを実装する方法と場所がわからないので、助けていただければ幸いです。
質問する
36670 次
5 に答える
27
次のように作成できます。
EditText myEditText = new EditText(context); // Pass it an Activity or Context
myEditText.setLayoutParams(new LayoutParams(..., ...)); // Pass two args; must be LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, or an integer pixel value.
myLayout.addView(myEditText);
これは、UIスレッドのどこにでも実装できます。クリックリスナー、onCreate
メソッド、およびその間のすべて。
于 2012-10-20T06:32:59.183 に答える
10
Edittextをプログラムで追加するには、以下のコードを使用してください。問題が解決します。
RelativeLayout mRlayout = (RelativeLayout) findViewById(R.id.mRlayout);
RelativeLayout.LayoutParams mRparams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
EditText myEditText = new EditText(context);
myEditText.setLayoutParams(mRparams);
mRlayout.addView(myEditText);
于 2012-10-20T06:47:47.753 に答える
2
レイアウト
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/TableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"
android:gravity="center_horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contact Application"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_horizontal"/>
コード
//container Layout
TableLayout tbl=(TableLayout)findViewById(R.id.TableLayout1);
//table row
TableRow tr = new TableRow(this);
TableLayout.LayoutParams tableRowParams=
new TableLayout.LayoutParams
(TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);
//for set margin
tableRowParams.setMargins(0, 10, 0, 0);
tr.setLayoutParams(tableRowParams);
//text view
TextView tv=new TextView(this);
tv.setText("Email");
tv.setGravity(Gravity.CENTER);
tv.setTextColor(Color.parseColor("#0070C0"));
tv.setTextSize(26);
tv.setLayoutParams(new TableRow.LayoutParams(100, TableRow.LayoutParams.WRAP_CONTENT));
//add textview
tr.addView(tv);
//set layout params of edittext
TableRow.LayoutParams etParams=
new TableRow.LayoutParams
(120,30);
etParams.setMargins(10, 0, 0, 0);
EditText et=new EditText(this);
et.setLayoutParams(etParams);
//set background
et.setBackgroundResource(R.drawable.bg_grey);
et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
tr.addView(et);
tbl.addView(tr, tableRowParams);
于 2015-03-03T07:00:59.417 に答える
0
LinearLayout内のEditText。
これを試して。
LinearLayout linearLayout = new LinearLayout(getContext());
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
linearLayout.setOrientation(LinearLayout.VERTICAL);
layoutParams.setMargins(2, 1, 2, 1);
linearLayout.setLayoutParams(layoutParams);
EditText editText = new EditText (getContext());
editText .setTextSize(15);
editText .setLayoutParams(layoutParams);
linearLayout.setGravity(Gravity.CENTER);
editText .setText(Html.fromHtml(directiveMessage));
linearLayout.addView(editText );
于 2018-10-25T07:56:04.303 に答える
0
EditText emailEditText = new EditText(this); //you can pass context based on your function.
emailEditText.setHint("Enter Email address:"); //works same as in XML file hint
emailEditText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
yourLayout.addView(emailEditText);
要件に基づいてLayout
&を設定します。LayoutParams
setContentView(your layout, your layout params)
numberEditText
入力タイプをに変更する以外は同じですTYPE_CLASS_NUMBER
。
于 2021-03-19T11:52:13.393 に答える