Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “循环通过全部”;“小部件”/活动中的元素_Java_Android_For Loop_Widget - Fatal编程技术网

Java “循环通过全部”;“小部件”/活动中的元素

Java “循环通过全部”;“小部件”/活动中的元素,java,android,for-loop,widget,Java,Android,For Loop,Widget,几天前,我启动了自己的android应用程序,因为我需要一个移动应用程序来存储我在医院收集的大量数据 我对java和Android环境很陌生,虽然它看起来很容易理解,与C++非常相似。 无论如何,我的应用程序有一堆“编辑文本”和单选按钮,我的问题是: 如何遍历所有这些小部件(编辑文本和单选按钮) 在.NET中,您可以执行“for each element In container”循环,但在Java/android环境中,我似乎找不到这样做的方法 注意:我不知道活动中存在多少“小部件”,因为有些

几天前,我启动了自己的android应用程序,因为我需要一个移动应用程序来存储我在医院收集的大量数据

<>我对java和Android环境很陌生,虽然它看起来很容易理解,与C++非常相似。 无论如何,我的应用程序有一堆“编辑文本”和单选按钮,我的问题是:

如何遍历所有这些小部件(编辑文本和单选按钮)

在.NET中,您可以执行“for each element In container”循环,但在Java/android环境中,我似乎找不到这样做的方法

注意:我不知道活动中存在多少“小部件”,因为有些是通过友好方式创建的,有些是硬编码的,有些则显示是否设置了某些用户首选项

任何帮助或提示都将不胜感激。

for(int i=0;ifor (int i = 0; i < rootView.getChildCount(); i++)
  rootView.getChildAt(i)
rootView.getChildAt(一) 请注意,这将返回View-s,您必须在运行时准确检查当前查看的视图类型,它可以正常工作

关于视图类型(即微调器、radioButton、EditText等),我们可以在布局XML文件中标记要解析的每个类型,然后添加一个条件,即:

   if (Widget_Tag != null){   

      View Current_Widget = (View) rootView.getChildAt(i);          

      String Widget_Tag = (String) Current_Widget.getTag();

      if (Widget_Tag.equals("MyEdiText")) {

        //do something

      }
   }
if(Widget_Tag!=null){用于防止NullPointReferences。您也可以使用Try/Catch来执行此操作。

您可以尝试以下代码:

LayoutInflater inflater = getLayoutInflater();
LinearLayout l = (LinearLayout) inflater.inflate(R.layout.main, null);

ViewGroup Current_Widget = (ViewGroup)l.getRootView();

for (int i = 0; i < Current_Widget.getChildCount(); i++)
    Current_Widget.getChildAt(i);
LayoutInflater充气机=getLayoutInflater();
LinearLayout l=(LinearLayout)充气器充气(R.layout.main,空);
ViewGroup Current_小部件=(ViewGroup)l.getRootView();
对于(int i=0;i
很有意思。但起点是一个活动。因此,您的演示缺少从活动到rootView的步骤;-)-我可能自己能找到,但这会很好。就像我对应用程序说的那样:
rootView
来自何方。