让我向您介绍我的问题:
我刚刚开始 Android 编程。 现在我想创建一个小应用程序,询问玩家数量,然后弹出一个新屏幕,其中包含与玩家数量一样多的 EditText 字段。
示例:我输入玩家数量 (4),然后按发送,下一个屏幕将填充 4 个 EditText 字段,询问玩家姓名。
代码如下:
询问玩家数量的方法:
public void gaVerder (View view){
Intent i = new Intent(getApplicationContext(), NamenPersonen.class);
String aantal = e.getText().toString();
i.putExtra("aantal", aantal);
startActivity(i);
}
传递 EditText 字段的方法:
LinearLayout ll;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
int aantal = Integer.parseInt(intent.getStringExtra("aantal"));
List<EditText> myList = new ArrayList<EditText>();
EditText myEt1 = new EditText(this);
myEt1.setHint("Geef uw naam in.");
myList.add(myEt1);
for(int i=0;i<aantal;i++)
{
editText = new EditText(this);
editText.setHint("Geef een naam in");
ll.addView(editText);
}
setupActionBar();
setContentView(R.layout.namenpersonenxml);
}
这是 for 循环部分并将其添加到不起作用的布局中。另外我不知道如何调试它,我习惯在 Netbeans 中调试 Java 应用程序(对于 android,我使用 Eclipse)。
最佳答案
您需要初始化LinearLayout ll
。
LinearLayout ll;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.namenpersonenxml);
ll = (LinearLayout) findViewById(R.id.linearlayout);
Intent intent = getIntent();
int aantal = Integer.parseInt(intent.getStringExtra("aantal"));
for(int i=0;i<aantal;i++)
{
editText = new EditText(this);
editText.setHint("Geef een naam in");
ll.addView(editText);
}
关于java - 使用 for 循环将 EditText 添加到 android 中的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21554985/