Android布局问题

Android布局问题,android,android-layout,Android,Android Layout,下面我做错了什么。下面是我的问题 1.在一个main.xml文件中,可以有两个线性布局或故事布局 2.在下面单击按钮1时,我将linearlayout1的可见性设置为“不可见”,但不会发生 super.onCreate(savedInstanceState); setContentView(R.layout.main); Button g_gal =(Button)findViewById(R.id.button1); final LinearLayout tr1 =(LinearLayo

下面我做错了什么。下面是我的问题

1.在一个main.xml文件中,可以有两个线性布局或故事布局

2.在下面单击按钮1时,我将linearlayout1的可见性设置为“不可见”,但不会发生

super.onCreate(savedInstanceState);
setContentView(R.layout.main);



Button g_gal =(Button)findViewById(R.id.button1);
final LinearLayout tr1 =(LinearLayout)findViewById(R.id.linearLayout1);
final LinearLayout tr2 =(LinearLayout)findViewById(R.id.linearLayout2);
tr2.setVisibility(View.INVISIBLE);

final Button g_gal =(Button)findViewById(R.id.button1);
g_gal.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {


        try {
                    tr2.setVisibility(View.VISIBLE);
                    tr1.setVisibility(View.INVISIBLE);


        }
        catch (Exception e) 
        {
            Toast.makeText(getApplicationContext(),"Exception while displaying gallery: "+ e, Toast.LENGTH_SHORT).show();
        }
    }
 });
main.xml

  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>


   </LinearLayout>
  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:id="@+id/linearLayout0" android:layout_width="wrap_content" android:layout_height="wrap_content">
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
   </LinearLayout> 

一个有效的XML文件只能有一个根,因此不能有两个线性布局作为根元素。创建另一个布局,其中包含作为子级的这两个布局

main.xml

  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>


   </LinearLayout>
  <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:id="@+id/linearLayout0" android:layout_width="wrap_content" android:layout_height="wrap_content">
   <LinearLayout android:orientation="vertical" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <Button android:text="Browse Gallery" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

   </LinearLayout>
   <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content">
      <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content">
         <requestFocus></requestFocus>
      </EditText>
      <Button android:text="Send SMS to Nav" android:id="@+id/sms" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
      <Button android:text="Back" android:id="@+id/back1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
   </LinearLayout> 


1.在第一个线性布局下添加所有其他布局。现在,在添加线性布局和按钮后,您只需完成线性布局

2.要隐藏布局tr1,请尝试隐藏子级

int count=tr1.getChildCount();
         for(int i=0;i<count;i++)
             tr1.getChildAt(i).setVisible(false);
int count=tr1.getChildCount();

对于问题2的(int i=0;i将视图设置为不可见,而不是将可见性设置为View.Gone

final LinearLayout tr1 =(LinearLayout)findViewById(R.id.linearLayout1);
tr1.setVisibility(View.Gone)
这对于布局来说更好。更多详细信息,请参阅Android文档