2011-03-14 7 views
2

私はリストビューを持っています。チェックするとチェックボックスが表示されます。 しかし、私はアプリケーションを再起動すると同じステータスを取得したいと思います。それを行う方法があれば、私に返答してください。 私は本当にアンドロイドに新しいです。 私のコードは次のとおりです:アンドロイドでアプリケーションを再起動すると、チェックボックスのステータスが同じになる

protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 


    getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
//I am getting status of check box here. If I click on file check box is appearing to me. //I want to be store always for true. 

    String keyword = value[position]; 
    mediaPlayer.reset();   
    try 
    { 

     mediaPlayer.setDataSource("/sdcard/"+keyword+".mp4"); 

     mediaPlayer.prepare(); 
     mediaPlayer.start();        

    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

ありがとうございました。

+0

http://developer.android.com/guide/topics/data/data-storage.html#prefあなたの貴重な答えを – ingsaurabh

答えて

1

あなたはあなたのアプリケーションが閉じます場合でも、滞在するあなたの値についてSharedPreferenceを使用することができます。定数ファイルにはデフォルト値を使用します。

例:

すべてのSharedPreferencesを格納するクラスを作成します。その与えるで

、コンストラクタギブ内部

private static SharedPreferences sharedPref;  
public static final String PREFERENCE_DATA = "some data"; 

sharedPref = PreferenceManager.getDefaultSharedPreferences(context); 

各嗜好値のセッター/ゲッターメソッドを追加します。

public static void setPreferenceData(String data) { 
     if (sharedPref != null) { 
      Editor editor = sharedPref.edit(); 
      editor.putString(PREFERENCE_DATA, data); 
      editor.commit(); 
     } 
    } 

public static String getPreferenceData() { 
    String data = "data"; 
    if (sharedPref != null) { 
     status = sharedPref.getString(PREFERENCE_DATA,your variable name stored in constants); 
    } 
    return data; 
} 

だから、あなたは、任意のデータを設定setPreferenceDataを使用したいとするときに、値の使用getPreferenceDataを取得したいとき。

+0

感謝あなたには、いくつかのより詳細なお願いでした次のリンクを試してください。 – Shekhar

1

アクティビティのonPauseメソッドにチェックボックスの状態を保存する必要があります。

@Override 
protected void onPause() { 
    super.onPause(); 
    long[] checkedBoxes = getListView.getCheckedItemIds(); 
    setPreferenceData(checkedBoxes); 
} 

をあなただけマシューズを変更する必要があります。onPauseが呼び出された後Activity Documentations

で説明したようにシステムがあなたのonPauseメソッドは次のようになりますチェックされた項目を保存するには、更なる警告なしにアプリケーションを閉じることができます長い配列を保存できるようにコーディングしてください。

今、あなたはのonCreateメソッドでsharedPreferencesファイルからこれらの値を取得することができますし、あなたのアダプタのコードに応じてチェックボックスを設定します。

+0

あなたはもう少し明確化してください...私はアンドロイドにはとても新しいです...私はそれを得ていません... – Shekhar

+0

あなたの返事のためにJanusz親愛なるに感謝しますが、私はそれを正しく取得していません。 この問題に関する深い情報を教えてください。 パブリッククラスAndroidExplorer1はListActivityを拡張{ \t/**活性が最初に作成されたときに呼び出さ。 */ \t static String [] value; \t MediaPlayer mediaPlayer = new MediaPlayer(); \t \t static int i = 0; \t public void onCreate(バンドルのつらら){ \t \t super.onCreate(icicle); \t \t \t \tバンドルb = getIntent()。getExtras(); \t \t \t value = b.getStringArray( "a1"); } このアクティビティでは、私はonListItemClickメソッドを持っています。ありがとうございました – Shekhar