thisチュートリアルを使用してチェック可能な項目を含むサブメニューを作成しています。だから、すべてが機能しますが、選択項目を処理する方法を理解することはできません。これはチェック可能なメニューから選択項目を処理する
https://stackoverflow.com/questions/7072347/how-to-select-multiple-checkboxes-in-submenu-on-android?answertab=active#tab-top
チュートリアルへのリンクですpublic static final String SETTING_CHECK_BOX = "SETTING_CHECK_BOX";
private ArrayList <SettingCheckBox> settingList;
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
settingList = new ArrayList <SettingCheckBox>();
settingList.add (new SettingCheckBox ("Option A"));
settingList.add (new SettingCheckBox ("Option B"));
// ... add more items
// restore any previously saved list
if (savedInstanceState != null) {
settingList = (ArrayList <SettingCheckBox>) savedInstanceState.getSerializable (SETTING_CHECK_BOX);
}
// ...
}
protected void onActivityResult (int requestCode , int resultCode , Intent data) {
if (resultCode != RESULT_OK || data == null)
return;
settingList = (ArrayList <SettingCheckBox>) data.getSerializableExtra (SETTING_CHECK_BOX);
//how can I log print the list of items that have been checked
// What should go here ? such that i can do other things after getting a list of items that were checked ?
//This is my try
Object[] mStringArray = settingList.toArray();
for(int i = 0; i < mStringArray.length ; i++){
Log.d("***Checked items*",(String)mStringArray[i]);
}
}
データを取得するときに、 'data.getSerializableExtra(SETTING_CHECK_BOX);'が適切だと思います。あなたがそれを続行することに決心したなら、私の答えをもう一度試してください(iterating中にチェッカー 'setList.get(i).isChecked()'を追加してください)。私はそれが正しいと確信しています。乾杯! –
'Log.i(" *** Context Menu * "、String.valueOf(settingList.get(i).getChecked()));'チェックされたすべてのリストをtrueにし、そうでないfalseを返しました。今、else文を使用して説明を取得しようとしています。 – choman
私の答えで前のコメントで述べたように 'if else'ステートメントだけを置いてください。私はそれだけで大丈夫だと思います。乾杯! :D –