2011-10-05 8 views
0

내 아래 코드에서 titlefourq1을 사용하면 버튼 5와 6이 표시됩니다. buttonfive를 클릭하면 numten이 표시되고 numten을 클릭하면 numsix가 표시됩니다. 그런데 numsix를 numten과 함께 동일한 레이아웃에 표시하려면 어떻게해야합니까?viewflipper 작동 방법?

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout android:id="@+id/LinearLayout01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"> 

<AbsoluteLayout android:id="@+id/radioGroup1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

    <Button android:background="@drawable/buttonsix" android:id="@+id/radio0" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="50dip" android:layout_x="20dip" android:layout_y="55dip"> 
    </Button> 

     <Button android:background="@drawable/buttonfive" android:id="@+id/radio1" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 




</AbsoluteLayout> 

    <ViewFlipper android:id="@+id/ViewFlipper01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_x="20dip"> 
     <!--adding views to ViewFlipper--> 

     <TextView 
    android:id="@+id/title" 
    android:textStyle="bold" 
    android:textColor="#ffffff" 
    android:gravity="center_vertical|center_horizontal" 
    android:text="@string/titlesfourq1" android:layout_height="wrap_content" android:layout_y="10dip" android:layout_x="5dip" android:textSize="20dip" android:layout_width="340dp"/> 

     <Button android:text="@string/numten" android:id="@+id/number" android:textStyle="bold" android:background="@color/translucent_black" android:textColor="#ffffff" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 

      <Button android:text="@string/numsix" android:id="@+id/number" android:textStyle="bold" android:background="@color/translucent_black" android:textColor="#ffffff" 
     android:layout_width="40dip" android:layout_height="40dip" android:layout_marginTop="150dip" android:layout_x="200dip" android:layout_y="200dip"> 
    </Button> 



     <TextView android:id="@+id/TextView02" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Second view is now displayed"></TextView> 
     <TextView android:id="@+id/TextView03" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Third view is now displayed"></TextView> 
    </ViewFlipper> 

</AbsoluteLayout> 

자바 : 이것에 대한

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 
import android.widget.ViewFlipper; 

public class Sfourq1 extends Activity { 

    Button RB0; 
    Button RB1; 
    Button RB2; 
    ViewFlipper VF; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sfourq1); 

     /* 
     * Find the views declared in main.xml. 
     */ 
     RB0 = (Button) findViewById(R.id.radio0); 
     RB1 = (Button) findViewById(R.id.radio1); 
     RB2 = (Button) findViewById(R.id.number); 
     VF = (ViewFlipper) findViewById(R.id.ViewFlipper01); 

     /* 
     * Set a listener that will listen for clicks on the radio buttons and 
     * perform suitable actions. 
     */ 
     RB0.setOnClickListener(button_one); 
     RB1.setOnClickListener(button_two); 
     RB2.setOnClickListener(button_test); 

    } 

    /* 
    * Define a OnClickListener that will change which view that is displayed by 
    * the ViewFlipper 
    */ 
    private OnClickListener button_one = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.radio0: 
       VF.setDisplayedChild(0); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 

       break; 

      } 
     } 
    }; 


    private OnClickListener button_two = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.radio1: 
       VF.setDisplayedChild(1); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 

       break; 


      } 
     } 
    }; 



    private OnClickListener button_test = new OnClickListener() { 
     public void onClick(View v) { 
      switch (v.getId()) { 
      case R.id.number: 
       VF.setDisplayedChild(2); 
       Button button = (Button) v; 
       button.setVisibility(View.INVISIBLE); 
       Intent StartGameIntent = new Intent(Sfourq1.this,Home.class); 
       startActivity(StartGameIntent); 
       break; 

       } 
      } 
     }; 
} 

답변

1

당신은 다른 레이아웃과 때마다 플립 이동의 두 버튼에 동일한 태그 (터치 이벤트에 의해 얻을 수있다) 같은 태그 버튼으로 변경 포커스를 제공 할 수 있습니다.

고맙습니다

+0

그래서 내가 이렇게 두 이미지가 보여 이미지를 볼 수있는 버튼이 다음 자바 ...? 두 개의 버튼 동일한 ID를 추가 ...하지만 난 그 무엇을 할 경우 후 XML의 의미 ... 나는 같은 ID를 클릭 할 수있는 두 개의 버튼을 원한다. 어떤 ID가 어떤 코드로 가야하는지 알지 못하기 때문에 강제로 닫을 수있다 .... – Wahid

+0

동일한 ID가 아닌 동일한 태그 (예 : tag = "나") "내"태그가있는 플리퍼 자식이 회전하면 동일한 태그 ("나")가있는 버튼에 집중해야합니다. –