首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >根据用户输入输出editText和textViews?

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

Stack Overflow用户
提问于 2018-06-09 23:48:47
回答 1查看 40关注 0票数 0

我想知道是否可以根据用户输入输出editText和textView等xml元素。例如,我正在制作一个简单的游戏应用程序,在这个应用程序中,你会被带到一个新的活动,它会询问玩家的数量。基于输入(例如5),我想要显示editText和textViews,这样玩家就可以命名了。对于Java,这是可能的吗?如果可能,如何实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 00:06:37

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

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

代码语言:javascript
复制
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放在列表中,或者如果这是您所拥有的全部内容,则可以直接循环到ViewGroup的子项上,以便稍后获取它们的值:

代码语言:javascript
复制
for( int i = 0; i < container.getChildCount(); i++ ){

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

}

如果你打算有很多可能的播放器,你应该把LinearLayout包在一个ScrollView中。

因为您可能会在onCreate中使用它,所以请记住,您不能依靠EditText保存自己的数据,以防Activity被破坏,所以请自己保存它们,并在重新创建时将它们反馈回来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50775985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档