2013-03-01 2 views
0

나는 두 조각으로 가로 모드에서 태블릿에 대한 안드로이드 응용 프로그램을 개발하려면 :표시 조각 나란히

  1. 조각 한 버튼의 목록이 포함되어 있습니다.
  2. 조각 2는 단추 관련 조각 하나를위한 공간입니다. "버튼 관련 단편"I는 평균이

는 다음 : 사용자 단편 1 버튼을 누르면, 그 버튼에 관련된 단편은 단편에 표시되어야 2.

조각 1 가지 인 탐색 패널.

MainActivity

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name="mypackage.MainActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".impl.activities.IntroActivity"></activity> 
    <activity android:name=".impl.activities.SimulationActivity"></activity> 

</application> 
는 다음과 같습니다 :

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:name="mypackage.fragments.ContentFragment"/> 

ContentFragment은 다음과 같습니다

public class MainActivity extends Activity implements IMainActivity { 
    @Override 
    public void onCreate(final Bundle aSavedInstanceState) { 
    super.onCreate(aSavedInstanceState); 
    setContentView(R.layout.main); 
    } 

    @Override 
    public void show(final View aView, final Class<? extends Activity> aActivityClass) { 
    startActivity(new Intent(this, aActivityClass)); 
    } 


} 

main.xml은 다음과 같은 내용을 가지고이를 구현하기 위해

, 나는 다음과 같은 코드를 작성 :

public class ContentFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    final View view = inflater.inflate(R.layout.mainfrag, container, false); 

    IMainActivity mainActivity = (IMainActivity) this.getActivity(); 
    final IntroButtonClickListener introListener = new IntroButtonClickListener(
     mainActivity, IntroActivity.class); 

    final IntroButtonClickListener simulationListener = new IntroButtonClickListener(
     mainActivity, SimulationActivity.class); 


    view.findViewById(R.id.intro_button).setOnClickListener(introListener); 
    view.findViewById(R.id.simulation_button).setOnClickListener(simulationListener); 

    return view; 
    } 

IntroButtonClickListener :

class IntroButtonClickListener implements View.OnClickListener { 
    private IMainActivity mainActivity; 
    private Class<? extends Activity> activityClass; 

    public IntroButtonClickListener(final IMainActivity aMainActivity, 
     final Class<? extends Activity> aActivityClass) { 
    this.mainActivity = aMainActivity; 
    this.activityClass = aActivityClass; 
    } 

    @Override 
    public void onClick(final View aView) { 
    this.mainActivity.show(aView, this.activityClass); 
    } 

} 

mainfrag.xml : 나는 응용 프로그램을 실행하면

  1. 는, 화면에 4 개 버튼이 있습니다 :

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical"> 
    
        <Button 
        android:layout_width="fill_parent" 
        android:layout_height="0dip" 
        android:layout_weight="25" 
        android:id="@+id/intro_button" 
        android:text="@string/intro_button"/> 
    
        <Button 
        android:layout_width="fill_parent" 
        android:layout_height="0dip" 
        android:layout_weight="25" 
        android:id="@+id/simulation_button" 
        android:text="@string/simulation_button"/> 
    
        <Button 
        android:layout_width="fill_parent" 
        android:layout_height="0dip" 
        android:layout_weight="25" 
        android:id="@+id/statistics_button" 
        android:text="@string/statistics_button"/> 
    
        <Button 
        android:layout_width="fill_parent" 
        android:layout_height="0dip" 
        android:layout_weight="25" 
        android:id="@+id/help_button" 
        android:text="@string/help_button"/> 
    
    
    </LinearLayout> 
    

    이 코드는 다음과 같은 결과에 이르게 (mainfrag.xml에서).

  2. intro_button 또는 simulation_button을 누르면보기가 각각 IntroFragment 또는 SimulationFragment으로 변경됩니다.
  3. 뒤로 단추를 누르면 네 개의 단추가 다시 표시됩니다.

내 문제 : IntroFragment 또는 SimulationFragment 표시 얻을 때, 버튼 패널이 사라집니다.

어떻게 (IntroFragment, SimulationFragment)을 동시에 볼 수 있습니다 각각 "상세"보기 (이 충분한 화면 공간이) 같은 모두 버튼 패널 나의 코드를 수정해야합니까?

답변

0

이러한 종류의 예제는 Android SDK에있는 APIDemos에 나와 있습니다. 여기서 그들은 왼쪽 패널을 listview로 가지며 선택된 아이템은 오른쪽에 관련된 프래그먼트를 보여줍니다.

당신은 \ 샘플 안드로이드-14 \ ApiDemos에

을 \ 안드로이드-SDK-WINDOWS \

SDK의 \ 안드로이드-sdk_r11-창에서 그것을 찾을 수 있습니다