0

Android デバイスのプログラミングは初めてです。simple_list_item_multiple_choice と Array Adapter を使用して生成されたリストビューにチェックボックスを保存する方法を見つけようとしています。チェックボックスの状態を保存して、ユーザーが戻るボタンを押して別のチェックリストに移動したときに、このチェックリストに戻って、離れた場所からピックアップできるようにしたいと考えています。

お願い、お願い、助けて!! コードおよび/または説明が理想的です。

コード:

public class BeachBabyStuff extends Activity  {
    String[] beachstuffbaby = new String[]{                                                                
                        "Beach Blanket or Mat",                                             
            "Beach Towels",                                                                      
            "Beach Umbrella",                                                                  
            "Beach Chair",                                                                        
            "Books / Magazines",                                                              
            "Radio",                                                                      
            "Pen / Paper",                                                              
            "Tablet"};                                                                    


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


        // Getting the reference to the listview object of the layout
        ListView listView = (ListView) findViewById(R.id.listview);

        // The checkbox for the each item is specified by the layout android.R.layout.simple_list_item_multiple_choice
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, beachstuffbaby);


        // Setting adapter to the listview
        listView.setAdapter(adapter);

        //Manage the onItemClick method
        listView.setOnItemClickListener(new OnItemClickListener() {

            private View view;

            public void onItemClick(AdapterView<?> ListView, View view, int position, long id) {
                         CheckedTextView textView = (CheckedTextView)view;
                         textView.setChecked(!textView.isChecked());

                         this.view = view;

                                    }

        });
4

1 に答える 1

0

チェックを維持するブール配列をアクティビティに追加します。

boolean checked[] = new boolean[beachstuffbaby.length];

チェックされたすべての位置をこの配列に設定します。この配列からカンマ区切りのアイテム文字列を作成し、に入れSharedPreferencesます。

設定からこの配列を読み取り、文字列をコンマで分割して、状態を復元します。

于 2012-08-05T11:17:02.467 に答える