2014-10-10 7 views
-1

나는 안드로이드 코드를 배우려고 시작 했으므로 처음 경험으로 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 개 조각을 사용하거나 거기에서 별도의 활동과 의도를 사용합니다. –

+0

활동을 전환하려고하십니까? –

+0

보기 전환 스위치를 사용하여보기를 전환해야합니다. – Hasnain

답변

0

하나의 레이아웃과 하나의 활동을 사용할 수 있습니다. 당신은 단지 버튼 click.i에 레이아웃을 숨기거나 보여 주어야합니다. 나는 그것을 구현했습니다. 당신은 아래 코드를 시도 할 수 있습니다. 아마도 도움이 될 수 있습니다.

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

     } 
    }); 

} 

} 
관련 문제