あなたがより多くのこのような何かを考えていました:あなたはfindViewById
を使用している場合
EditText[] ets = new EditText[5];
int i;
ets[0]=(EditText) findViewById(R.id.editText1);
ets[0].setVisibility(View.INVISIBLE);
ets[1]=(EditText) findViewById(R.id.editText2);
ets[1].setVisibility(View.INVISIBLE);
...
ets[4]=(EditText) findViewById(R.id.editText3);
ets[4].setVisibility(View.INVISIBLE);
for(i=0;i<=4;++i)
{
ets[i].setVisibility(View.VISIBLE);
}
その後、再び、あなたはすべての配列を必要とする可能性はありません。配列を使用することを求めていることをどうやって行うのかを説明するだけです。私はこのようなことをしていたら、よりプログラム的にEditText
を作成することについてもっと考えていると思います。
ここで私は、それがプログラムのダイアログを作成し、その中でいくつかのEditText
年代を持っている必要があり、これが役に立てば幸いユーティリティメソッドです。何をやっている
public static void testNotification(final Activity activity)
{
Dialog dlg = new Dialog(activity);
dlg.setTitle("Notification Test");
LinearLayout dlgView = new LinearLayout(activity);
dlgView.setOrientation(LinearLayout.VERTICAL);
dlg.addContentView(dlgView, new LayoutParams(200, 200));
final EditText et1 = new EditText(activity);
et1.setText("ABC");
dlgView.addView(et1);
final EditText et2 = new EditText(activity);
et2.setText("XYZ");
dlgView.addView(et2);
Button btn = new Button(activity);
btn.setText("Go");
dlgView.addView(btn);
et1.setWidth(LayoutParams.FILL_PARENT);
et2.setWidth(LayoutParams.FILL_PARENT);
btn.setWidth(LayoutParams.FILL_PARENT);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
Util.doNotification(activity, et1.getText().toString(), et2.getText()
.toString());
}
});
dlg.show();
return;
}
は、なぜあなたはそれらの上の配列とループの中で 'et'変数を保持していないそれを行うことができないのですか? – jmishra