你在想什么可能的东西更像是这样的:
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);
}
话又说回来,如果你使用findViewById
,你可能不会需要一个数组的。只是说明你如何处理你在使用数组的问题。我想如果我正在做这样的事情,我会更多地考虑以编程的方式创建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 2012-03-25 11:42:16