2014-10-10 167 views
-1

所以我剛開始嘗試學習android代碼,並且作爲第一個體驗,我想添加2個窗口/佈局,以及從一個到另一個的方式,我認爲2個插件可以做到這一點。如何更改佈局?

所以basiclly我在activity_my開始​​,當我按下這個UI中的按鈕時,我得到了我的第二個佈局layout2,但是當我嘗試回到我的原始佈局時,沒有任何反應。爲什麼?

public class MyActivity extends Activity { 
int k =0; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 

     final ImageButton button = (ImageButton) findViewById(R.id.imageButton); 
     final Button button2 = (Button) findViewById(R.id.button); 
     EditText phone = (EditText) findViewById(R.id.phoneNUMBER); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      setContentView(R.layout.layout2); 
      k=1; 

     } 
    }); 

    if(k==1){ 
     button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       k=0; 
       setContentView(R.layout.activity_my); 

      } 
     }); 
    } 
+0

要麼使用2個片段在一個活動或使用一個單獨的活動和意圖從那裏。 – 2014-10-10 02:10:46

+0

你是否試圖在活動之間切換? – 2014-10-10 05:19:10

+0

您必須使用View切換器切換您的視圖 – Hasnain 2014-10-10 06:24:27

回答

0

您可以使用一個佈局和一個活動。你必須隱藏/顯示你的佈局按鈕click.i已經實現了它。你可以嘗試下面的code.may它會幫助你。

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/layout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="20" 
     android:gravity="center_horizontal" 
     android:text="layout 1" /> 

    <Button 
     android:id="@+id/btn1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="layout 1" /> 
</LinearLayout> 

<LinearLayout 
    android:id="@+id/layout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:visibility="gone" > 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="layout 2" /> 

    <Button 
     android:id="@+id/btn2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="layout 2" /> 
</LinearLayout> 

MyActivity.java

public class MyActivity extends Activity { 

Button btn1, btn2; 
LinearLayout layout1, layout2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_layout); 
    btn1 = (Button) findViewById(R.id.btn1); 
    btn2 = (Button) findViewById(R.id.btn2); 
    layout1 = (LinearLayout) findViewById(R.id.layout1); 
    layout2 = (LinearLayout) findViewById(R.id.layout2); 

    btn1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      layout1.setVisibility(View.GONE); 
      layout2.setVisibility(View.VISIBLE); 

     } 
    }); 

    btn2.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      layout1.setVisibility(View.VISIBLE); 
      layout2.setVisibility(View.GONE); 

     } 
    }); 

} 

}