私は電子メールアドレス、電話番号を追加するコンタクトアプリケーションを開発しています。私は、コード自体でテキストを動的に編集する必要があります。私はどのようにこのロジックを実装するのか分からず、どんな助けもありがたく思う。アンドロイドでプログラムでテキストを編集する
12
A
答えて
20
あなたはそうのようにそれを作成することができます。
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
メソッドなどがあります。
さらに一般的な例があります。in this questionと、これらのプロセスの概要があります。in this blog
8
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);
3
レイアウト
<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);
関連する問題
- 1. アンドロイドで編集テキストにテキストを追加する方法は?
- 2. プログラムで作成した編集テキストのテキストを入力する
- 3. アンドロイドでテキストを編集する際にグラデーションを追加する
- 4. Androidスタジオでテキストを編集してテキストを編集する
- 5. ロングクリックでステッカービューのテキストを編集する方法アンドロイドのリスナー
- 6. アンドロイドで複数のテキストを編集する方法は?
- 7. アンドロイド:gravity = "center"のときにキーボードで編集されたテキストを編集
- 8. アンドロイドで相対レイアウトをプログラムで編集テキストを作成するにはどうすればいいですか?
- 9. 色の編集テキスト選択ハンドルをプログラムで変更する
- 10. アンドロイドの編集テキストと複数のチェックボックス
- 11. アンドロイドで編集テキストの位置をプログラムで変更するにはどうすればよいですか?
- 12. プログラムで編集テキストIDを設定できません
- 13. 端末で編集テキストを編集する方法は?
- 14. アンドロイド編集テキストフィルタ
- 15. Googleでプログラムを編集する
- 16. .webarchiveファイルをプログラムで編集する
- 17. プログラムで予定を編集する
- 18. パスをプログラムで編集する
- 19. 編集可能なテキストとそのテキストをアンドロイドに保存
- 20. メモ帳でテキストを編集する
- 21. 編集テキストでフォーカスを削除する
- 22. Pythonプログラムを編集する
- 23. アンドロイド編集のテキスト自動補正を無効にする
- 24. ag-Grid:プログラムで編集モードにする
- 25. 2ボタンと2の編集テキストのテキスト(アンドロイド)
- 26. 編集カスタムビューをプログラム
- 27. アンダーライン編集テキスト
- 28. TUIテキスト編集
- 29. 編集テキスト
- 30. アンドロイドで編集テキスト枠の選択色を変更するには?