首页 > 解决方案 > 如何从动态创建中查找编辑文本框和微调器 任何人都可以

问题描述

我无法在布局中找到微调器和编辑文本

代码如下它只在多次查找EditText

try {
                int count = my_linear_layout1.getChildCount();
                //EditText ed[] = new EditText[count];
                for (int i = 1; i < count; i++) {
                    View row = my_linear_layout1.getChildAt(i);

                    row = my_linear_layout1.findFocus();
                    if(row instanceof EditText)
                    {
                        // you got the Edit Text  if (v.getClass().equals(TextView.class))
                        EditText textOut = (EditText) row.findViewById(R.id.OBSpn);
                        String data = textOut.getText().toString();
                    }

                    else if(row instanceof Spinner)
                    {
                        // you got the Spinner
                        Spinner Spin = (Spinner) row.findViewById(R.id.SPNOBS);
                        String data1 = Spin.getSelectedItem().toString();
                    }

                }

            } catch (Exception e) {
                e.printStackTrace();
            }

标签: androidandroid-layout

解决方案


使用 ListView 代替 LinearLayout。按照这个文档。 https://developer.android.com/reference/android/widget/ListView

我的问题是为什么 ScrollView 不能是父布局,不需要相对布局。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
       xmlns:android="http://schemas.android.com/apk/res/android"           
       xmlns:app="http://schemas.android.com/apk/res-auto"
       android:id="@+id/container"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       tools:context=".MainActivity">
        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
               <ListView
                      android:id="@+id/list_view"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content">
               </ListView>

               <!-- Add extra -->
       </LinearLayout>
 </ScrollView>

推荐阅读