独自の名前(eText1、eText2 ...)を持つ1つのButtonclickでいくつかのEditTextフィールドを作成したいたとえば、ボタン+があります。ユーザーはそのボタンをクリックして、新しい EditText フィールドを作成できます。
5878 次
1 に答える
3
あなたはほとんど文脈を与えていませんが、このコードはあなたにさらに少しをもたらすかもしれません:
EditText et1, et2, et3;
public void onCreate() {
et1 = (EditText)findViewById(R.id.et1);
et2 = (EditText)findViewById(R.id.et2);
et3 = (EditText)findViewById(R.id.et3);
et1.setVisibility(View.GONE);
et2.setVisibility(View.GONE);
et3.setVisibility(View.GONE);
}
public void clickHandlingMethod(View v) {
et1.setVisibility(View.VISIBLE);
et2.setVisibility(View.VISIBLE);
et3.setVisibility(View.VISIBLE);
}
すべてを非表示EditTexts
にし、ユーザーがを押すとbutton
、それらが表示されます。
編集:ユーザーが100まで追加する可能性があるというコメントを見て、EditTexts
おそらくもっと動的なものを作りたいと思うでしょう。Button
これを試してください。クリックすると1つ作成され、追加されます。
ScrollView container; // create a scrollView in which you can put all EditTexts
static int totalEditTexts = 0;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
container = (ScrollView) findViewById(R.id.scrollView);
}
public void clicked(View view) {
totalEditTexts++;
if (totalEditTexts > 100)
return;
EditText editText = new EditText(this);
//if you want to identify the created editTexts, set a tag, like below
editText.setTag("EditText" + totalEditTexts);
container.addView(editText);
}
Edit2:完全なコード:
public class ScrollStuff extends Activity {
LinearLayout containerLayout;
static int totalEditTexts = 0;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.scroll);
containerLayout = (LinearLayout)findViewById(R.id.mlayout);
}
public void onBackPressed() {
totalEditTexts++;
if (totalEditTexts > 100)
return;
EditText editText = new EditText(this);
containerLayout.addView(editText);
editText.setGravity(Gravity.RIGHT);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) editText.getLayoutParams();
layoutParams.width = LinearLayout.LayoutParams.MATCH_PARENT;
editText.setLayoutParams(layoutParams);
//if you want to identify the created editTexts, set a tag, like below
editText.setTag("EditText" + totalEditTexts);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/mlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
名前の選択がお粗末onBackPressed()
で、クリックイベントに使用したという事実をお詫び申し上げます。私は、かなり急いでいます。
于 2013-01-21T16:00:53.847 に答える