代码之家  ›  专栏  ›  技术社区  ›  northerner

如何获取布局对象

  •  -1
  • northerner  · 技术社区  · 6 年前

    this question :

    ArrayList<EditText> myEditTextList = new ArrayList<EditText>();
    
    for( int i = 0; i < myLayout.getChildCount(); i++ )
      if( myLayout.getChildAt( i ) instanceof EditText )
        myEditTextList.add( (EditText) myLayout.getChildAt( i ) );
    

    你怎么得到的 myLayout ,它实际上代表什么?在我的应用程序中,我在activitymain.xml中定义了线性布局,但似乎无法在mainactivity.java中得到它(我尝试使用r,但它不起作用)。我对Android开发很陌生,可以真正使用一些高级指导。

    4 回复  |  直到 6 年前
        1
  •  1
  •   Mayank Bhatnagar    6 年前

    <LinearLayout android:id="@+id/my_layout" >
       //your views goes here
    </LinearLayout>
    

    LinearLayout myLayout = (LinearLayout) findViewById(R.id.my_layout);
    

        2
  •  0
  •   AskNilesh    6 年前

    myLayout layout.xml

    FrameLayout LinearLayout RelativeLayout ConstraintLayout

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/myLayout"
        android:orientation="vertical">
    
            <!-- add your view here-->
    
    </LinearLayout>
    

    findViewById

    public class MyActivity extends AppCompatActivity {
    
        LinearLayout myLayout;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
    
            myLayout = findViewById(R.id.myLayout);
        }
    
    
    }
    
        3
  •  0
  •   P Vartak    6 年前

    LinearLayout

    LinearLayout myLayout=(LinearLayout) findViewById(R.id.your_linear_layout_id)

        4
  •  0
  •   Vihaari Varma    6 年前

    <?xml version="1.0" encoding="utf-8"?>
    <SomeLayout
     android:id="@+id/some_id"
    ...>
     <EditText
    ...
    />
    
    <EditText
    ...
    />
    .
    .
    .
    </SomeLayout>
    

    mLayout findViewById(R.id.my_layout); setContentView(R.layout.activitymain);