0

Eclipse で Android プラットフォーム用のアプリケーションを作成していますが、何か助けが必要です。:) ある部分でやりたいことは、別の ListView でチェックされている項目から arraylist を作成することです。私はそれを作る方法を見つけました、そしてここにコードがあります:

public class MusicList extends Activity {
    private ListView lvCheckBox;
    private String[] arr = { "Depeche Mode", "The Prodigy", "Rammstein",
            "Manilla Road", "Led Zeppelin", "AC/DC", "Massive Attack",
            "Skrillex", "Deadmau5" };
    ArrayList<String> arrList;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.musiclist);
        lvCheckBox = (ListView) findViewById(R.id.lvCheckBox);
        lvCheckBox.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        lvCheckBox.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_checked, arr));
        arrList = new ArrayList<String>();
        lvCheckBox.setOnItemClickListener(new OnItemClickListener(){
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                        long arg3) {
                    // TODO Auto-generated method stub
                     if(arrList.contains(lvCheckBox.getItemAtPosition(arg2).toString()))
                    {
                        arrList.remove(lvCheckBox.getItemAtPosition(arg2).toString());
                    }
                    else
                    {
                        arrList.add(lvCheckBox.getItemAtPosition(arg2).toString());
                    }

                    Collections.sort(arrList);
                    String strText = "";

                    for(int i=0 ; i<arrList.size(); i++)                   
                           strText += arrList.get(i) + ",";


                    Toast.makeText(MusicList.this, "Item Clicked: "+ strText,     Toast.LENGTH_SHORT).show();                
                }
        });
    }
}

しかし!ここで、アプリが完全に閉じてリスト画面に戻ったときに、以前にチェックしたアイテムを再度チェックする必要がある場合でも、その配列リストを保存する必要があります (一部の「ユーザー設定」(実際にはユーザーが好きな音楽) など)。開始リストにもっと多くのミュージシャンを追加するつもりです!!)。それで、誰もそれを行う方法を知っていますか?:)

以上です、よろしくお願いします。また、私はここで初めてなので、何かを台無しにして申し訳ありません:(

4

1 に答える 1

0

Android には、アプリの「キャッシュ」に情報を保存できる SharedPreferences クラスがあります。

したがって、リスト情報を保存および取得できます。

http://developer.android.com/reference/android/content/SharedPreferences.html

于 2012-09-21T01:25:21.173 に答える