2011-07-13 2 views
0

XMLファイルを読み込んで、水平ページフリッパーで複数の画面を作成するクラスがあります。 ただし、ポートレートからランドスケープまたはバックに変更すると、表示内容が異なる場合があります。onCreateのスクリーンIDを保存します。

私は現在の選択したページを保存したいので、画面を交換するたびにその値を使用して新しい向きの画面を構築します。

Iは、現在のページ(整数を返す))(getCurrentScreenによって現在のページを取得できHorizo​​ntalPagerクラスを使用し、私は画面を切り替えるたびにだからページsetCurrentScreen(currentScreen、ブールアニメーションをINT)

を設定する一つの

全体をもう一度作成し、ページ1(配列の0)から開始するのではなく、選択する必要があります。

答えて

0

は次のとおりです。

私は、現在のページにポケットベルで私の静的に設定setPagerと呼ばれる方法(int型のポケットベル)を作りました。 このメソッドは、画面が反転されるたびにHorizo​​ntalPagerクラスから呼び出されます。

画面が反転するたびに、onCreate()が呼び出され、myPlayPointはsetPager(int pager)メソッドでmy static intの値に設定されます。

3

保存あなたのページのインデックス画面の向きの変更が行われます前に:のonCreateで

@Override 
public Object onRetainNonConfigurationInstance() { 
    return mIndex;//your index 
} 

を():

Integer index= (Integer) getLastNonConfigurationInstance(); 

インデックスがnullでない場合は、あなたには、いくつかのデータが以前に保存されています画面の向きが変更され、使用する必要があります。それ以外の場合は無視してください。私はちょうど自分自身を私の質問の上に寝て、それを解決:)

私が何をしたか

+0

答えが正しかった場合は、質問に回答してください。 –

関連する問題