根据用户输入输出editText和textViews?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (17)

我想知道是否可以根据用户输入输出xml元素,如editText和textView。例如,我正在制作一个简单的游戏应用程序,在应用程序中,您将进入一个新活动,询问玩家的数量。根据输入(例如5)我想显示editText和textViews,这样玩家就可以获得名字。这可能是Java,如果是这样,怎么样?

提问于
用户回答回答于

当然,无需通过XML。将玩家数量传递给下一个活动作为参数。然后确保在第二个活动的布局中有一个ViewGroup(例如LinearLayout)。

然后循环并动态创建视图:

ViewGroup container = findViewById(R.id.linearLayout);

for( int i = 0; i < numberOfPlayers; i++ ){
    EditText et = new EditText(this);
    et.setHint(R.string.new_player_hint);// String providing a hint to the user
    container.addView(et);
}

您可以将EditTexts放在List中,或者如果您拥有所有这些,您可以直接在ViewGroup的子项上循环以获取它们的值:

for( int i = 0; i < container.getChildCount(); i++ ){

    String playerName = ((EditText) container.getChildAt(i)).getText().toString();

}

如果你有很多可能的玩家,你应该在ScrollView中包装LinearLayout。

因为您可能会在onCreate中使用它,请记住,在Activity被销毁的情况下,您不能依赖EditText保存自己的数据,因此请自行保存并在重新创建时将其反馈。

扫码关注云+社区

领取腾讯云代金券