2011-07-29 8 views
0

次の点で私は間違っています。また、以下の私の質問はAndroidレイアウトの質問

1.In 1 main.xmlファイル2つのリニアレイアウトや物語のレイアウト

があることができます i「は見えない」にlinearlayout1の可視性を設定し、それにはないボタン1のクリックに

2.Below起こる。

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(); 
     } 
    } 
}); 

ルート要素として2つの線形のレイアウトを持つことができないので、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> 

答えて

2

有効なXMLファイルは、1つの根を持つことができます。これら2つのレイアウトを子として含む別のレイアウトを作成します。

0

main.xml

<?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> 

0

1.addあなただけのLinearLayoutとButton

2.Toを追加した後のLinearLayoutを終えている最初のLinearLayout.Now下の他のすべてのレイアウトレイアウトを隠すtr1子供を隠そうとする

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

質問2代わりの目に見えないにビューを設定するために、View.Gone

final LinearLayout tr1 =(LinearLayout)findViewById(R.id.linearLayout1); 
tr1.setVisibility(View.Gone) 

これは、レイアウトの目的のために優れているの可視性を設定します。詳細については、Android Viewのドキュメントを参照してください。