如何从布局中的所有项目中获取文本

时间:2016-03-23 23:47:27

标签: java android textview

我有一个包含多个TextView,EditViews和Button的视图。我想迭代所有项目并获取每个项目的文本值。我不能只是通过名字来浏览每个人,因为取决于用户之前在屏幕上做了什么,取决于屏幕上显示的项目。并且,每次可以有不同数量的项目。我动态创建项目并设置每个文本视图的文本,但用户将在editview中输入信息。 所以我不仅需要知道textview中的文本,还需要知道用户放入editview的文本,我需要确保用户输入goers到正确的textview。因此,如果我有一个文本视图读取“2x2”并且用户输入“4”,我需要确保我知道4进入2x2 textview。 我不知道从哪里开始看,所以我没有尝试过任何东西。 如果有人能指出我正确的方向,那就没问题了。 顺便说一下,这不是功课。它仍然是我正在努力的应用程序,它已经摧毁了我好几个星期。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以遍历子项,然后检查类类型。

// you need the ID of the layout - in this example the ID is myLayout
// or you get the layout object instance otherwise
LinearLayout layoutMyLayout = (LinearLayout) findViewById(R.id.myLayout);
if (layoutMyLayout != null)
{
  for (int i = 0; i < layoutMyLayout.getChildCount(); x++)
  {
    View viewChild = layoutMyLayout.getChildAt(i);
    if (viewChild instanceof EditText)
    {
        // get text from edit text
        String text = ((EditText)viewChild).getText().toString();
        //TODO: add rest of the logic
    } else if(viewChild instanceof TextView) {
        // get text from text view
        String text = ((TextView)viewChild).getText().toString();
        //TODO: add rest of the logic
  }
}

您只需要实例,然后就可以发布这些方法。很直接。