I have been loading and building all my statelists (that use a checkbox) like the code below ONLY loading the bitmap once and using it in all the statelists. (See LoadStateList below)
But recently my checkboxs have been randomly disappearing (using 6.30 Beta #1) so I had to change the LoadStateList code to load the checkbox bitmap all the time.
Code change to below
I was under the impression that if I loaded the bitmap once I could share it with different statelists.
I never doing anything to the bitmap directly, but I do make different check-boxes (Togglebuttons that have one of the statelists as a background (that code not shown)) visible / enabled based on different options selected.
But doing so with the original code just starting making (other check-boxes start disappearing).
So have I been under the wrong impression and I need to load a new bitmap for every statelist?
BobVal
But recently my checkboxs have been randomly disappearing (using 6.30 Beta #1) so I had to change the LoadStateList code to load the checkbox bitmap all the time.
B4X:
Sub Globals
Private sFWTS_Handicap_Box As Panel
Private sFWTS_UseHandicapTag As Label
Private sFWTS_UseHandicap As ToggleButton
Private sFWTS_HandicapBaseTag As Label
Private sFWTS_HandicapBase As Label
Private sFWTS_HandicapPercentTag As Label
Private sFWTS_HandicapPercent As Label
Private sFWTS_BonusPins_Box As Panel
Private sFWTS_UseBonusPinsTag As Label
Private sFWTS_UseBonusPins As ToggleButton
Private sFWTS_BonusPinsPerEntryTag As Label
Private sFWTS_BonusPins As Label
Private sFWTS_EachEntryGetsPinsTag As Label
Private sFWTS_EachEntryGetsPins As ToggleButton
Private sFWTS_SexOption_Box As Panel
Private sFWTS_SexOption_MalesOnly As ToggleButton
Private sFWTS_SexOption_MalesOnlyTag As Label
Private sFWTS_SexOption_FemalesOnly As ToggleButton
Private sFWTS_SexOption_FemalesOnlyTag As Label
Private sFWTS_MysteryDoubles_Options1_Box As Panel
Private sFWTS_MD_Reshuffle As ToggleButton
Private sFWTS_MD_Reshuffle_Tag As Label
Private sFWTS_MD_ProcessAsEliminator As ToggleButton
Private sFWTS_MD_ProcessAsEliminator_Tag As Label
Private sFWTS_MysteryDoubles_Options2_Box As Panel
Private sFWTS_MD_RandomBasedSeating As ToggleButton
Private sFWTS_MD_RandomBasedSeating_Tag As Label
Private sFWTS_MD_AverageBasedSeating As ToggleButton
Private sFWTS_MD_AverageBasedSeating_Tag As Label
Private sFWTS_MysteryDoubles_Options3_Box As Panel
Private sFWTS_MD_MultipleEntries As ToggleButton
Private sFWTS_MD_MultipleEntries_Tag As Label
Private sFWTS_MD_MatchToSelf As ToggleButton
Private sFWTS_MD_MatchToSelf_Tag As Label
Private sFWTS_MD_MatchBySex As ToggleButton
Private sFWTS_MD_MatchBySex_Tag As Label
Private sFWTS_LoveDoubles_Options_Box As Panel
Private sFWTS_LD_FemalesPickMales As ToggleButton
Private sFWTS_LD_FemalesPickMales_Tag As Label
Private sFWTS_LD_MalesPickFemales As ToggleButton
Private sFWTS_LD_MalesPickFemales_Tag As Label
Private sFWTS_LD_AnyonePicksAnyone As ToggleButton
Private sFWTS_LD_AnyonePicksAnyone_Tag As Label
Private sFWTS_LD_AnyonePicksOpposite As ToggleButton
Private sFWTS_LD_AnyonePicksOpposite_Tag As Label
Private mCBCheckedBox As BitmapDrawable
Private mCBUnCheckedBox As BitmapDrawable
Private mCBUseHandicapStateList As StateListDrawable
Private mCBUseBonusPinsStateList As StateListDrawable
Private mCBEveryEntryGetsPinsStateList As StateListDrawable
Private mCBSexOptionMalesOnlyStateList As StateListDrawable
Private mCBSexOptionFemalesOnlyStateList As StateListDrawable
Private mMDReshuffleStateList As StateListDrawable
Private mMDMultipleEntriesStateList As StateListDrawable
Private mMDMatchToSelfStateList As StateListDrawable
Private mMDMatchBySexStateList As StateListDrawable
Private mMDProcessAsEliminatorStateList As StateListDrawable
Private mMDRandomBasedSeatingStateList As StateListDrawable
Private mMDAverageBasedSeatingStateList As StateListDrawable
Private mLDFemalesPickMalesStateList As StateListDrawable
Private mLDMalesPickFemalesStateList As StateListDrawable
Private mLDAnyonePicksAnyoneStateList As StateListDrawable
Private mLDAnyonePicksOppositeStateList As StateListDrawable
End Sub
#Region Activity_Create / Activity_Resume / Activity_Pause / Activity_KeyPress
Private Sub Activity_Create(FirstTime As Boolean)
LoadBitmaps
LoadStateLists
End Sub
#Region LoadBitmaps
Private Sub LoadBitmaps
mCBCheckedBox = LoadThisBitmapDrawable("checkbox_checked_box.png")
mCBUnCheckedBox = LoadThisBitmapDrawable("checkbox_unchecked_box.png")
End Sub
#End Region
Private Sub LoadStateLists
mCBSexOptionMalesOnlyStateList.Initialize
mCBSexOptionMalesOnlyStateList.AddState(mCBSexOptionMalesOnlyStateList.State_Checked , mCBCheckedBox)
mCBSexOptionMalesOnlyStateList.AddState(mCBSexOptionMalesOnlyStateList.State_Unchecked, mCBUnCheckedBox)
mCBSexOptionFemalesOnlyStateList.Initialize
mCBSexOptionFemalesOnlyStateList.AddState(mCBSexOptionFemalesOnlyStateList.State_Checked , mCBCheckedBox)
mCBSexOptionFemalesOnlyStateList.AddState(mCBSexOptionFemalesOnlyStateList.State_Unchecked, mCBUnCheckedBox)
mCBUseHandicapStateList.Initialize
mCBUseHandicapStateList.AddState(mCBUseHandicapStateList.State_Checked , mCBCheckedBox)
mCBUseHandicapStateList.AddState(mCBUseHandicapStateList.State_Unchecked, mCBUnCheckedBox)
mCBUseBonusPinsStateList.Initialize
mCBUseBonusPinsStateList.AddState(mCBUseBonusPinsStateList.State_Checked , mCBCheckedBox)
mCBUseBonusPinsStateList.AddState(mCBUseBonusPinsStateList.State_Unchecked, mCBUnCheckedBox)
mCBEveryEntryGetsPinsStateList.Initialize
mCBEveryEntryGetsPinsStateList.AddState(mCBEveryEntryGetsPinsStateList.State_Checked , mCBCheckedBox)
mCBEveryEntryGetsPinsStateList.AddState(mCBEveryEntryGetsPinsStateList.State_Unchecked, mCBUnCheckedBox)
mMDReshuffleStateList.Initialize
mMDReshuffleStateList.AddState(mMDReshuffleStateList.State_Checked , mCBCheckedBox)
mMDReshuffleStateList.AddState(mMDReshuffleStateList.State_Unchecked, mCBUnCheckedBox)
mMDMultipleEntriesStateList.Initialize
mMDMultipleEntriesStateList.AddState(mMDMultipleEntriesStateList.State_Checked , mCBCheckedBox)
mMDMultipleEntriesStateList.AddState(mMDMultipleEntriesStateList.State_Unchecked, mCBUnCheckedBox)
mMDMatchToSelfStateList.Initialize
mMDMatchToSelfStateList.AddState(mMDMatchToSelfStateList.State_Checked , mCBCheckedBox)
mMDMatchToSelfStateList.AddState(mMDMatchToSelfStateList.State_Unchecked, mCBUnCheckedBox)
mMDMatchBySexStateList.Initialize
mMDMatchBySexStateList.AddState(mMDMatchBySexStateList.State_Checked , mCBCheckedBox)
mMDMatchBySexStateList.AddState(mMDMatchBySexStateList.State_Unchecked, mCBUnCheckedBox)
mMDProcessAsEliminatorStateList.Initialize
mMDProcessAsEliminatorStateList.AddState(mMDProcessAsEliminatorStateList.State_Checked , mCBCheckedBox)
mMDProcessAsEliminatorStateList.AddState(mMDProcessAsEliminatorStateList.State_Unchecked, mCBUnCheckedBox)
mMDAverageBasedSeatingStateList.Initialize
mMDAverageBasedSeatingStateList.AddState(mMDAverageBasedSeatingStateList.State_Checked , mCBCheckedBox)
mMDAverageBasedSeatingStateList.AddState(mMDAverageBasedSeatingStateList.State_Unchecked, mCBUnCheckedBox)
mMDRandomBasedSeatingStateList.Initialize
mMDRandomBasedSeatingStateList.AddState(mMDRandomBasedSeatingStateList.State_Checked , mCBCheckedBox)
mMDRandomBasedSeatingStateList.AddState(mMDRandomBasedSeatingStateList.State_Unchecked, mCBUnCheckedBox)
mLDFemalesPickMalesStateList.Initialize
mLDFemalesPickMalesStateList.AddState(mLDFemalesPickMalesStateList.State_Checked , mCBCheckedBox)
mLDFemalesPickMalesStateList.AddState(mLDFemalesPickMalesStateList.State_Unchecked, mCBUnCheckedBox)
mLDMalesPickFemalesStateList.Initialize
mLDMalesPickFemalesStateList.AddState(mLDMalesPickFemalesStateList.State_Checked , mCBCheckedBox)
mLDMalesPickFemalesStateList.AddState(mLDMalesPickFemalesStateList.State_Unchecked, mCBUnCheckedBox)
mLDAnyonePicksAnyoneStateList.Initialize
mLDAnyonePicksAnyoneStateList.AddState(mLDAnyonePicksAnyoneStateList.State_Checked , mCBCheckedBox)
mLDAnyonePicksAnyoneStateList.AddState(mLDAnyonePicksAnyoneStateList.State_Unchecked, mCBUnCheckedBox)
mLDAnyonePicksOppositeStateList.Initialize
mLDAnyonePicksOppositeStateList.AddState(mLDAnyonePicksOppositeStateList.State_Checked , mCBCheckedBox)
mLDAnyonePicksOppositeStateList.AddState(mLDAnyonePicksOppositeStateList.State_Unchecked, mCBUnCheckedBox)
end sub
Code change to below
B4X:
Private Sub LoadStateLists
mCBSexOptionMalesOnlyStateList = MakeCBStateList
mCBSexOptionFemalesOnlyStateList = MakeCBStateList
mCBUseHandicapStateList = MakeCBStateList
mCBUseBonusPinsStateList = MakeCBStateList
mCBEveryEntryGetsPinsStateList = MakeCBStateList
mMDReshuffleStateList = MakeCBStateList
mMDMultipleEntriesStateList = MakeCBStateList
mMDMatchToSelfStateList = MakeCBStateList
mMDMatchBySexStateList = MakeCBStateList
mMDProcessAsEliminatorStateList = MakeCBStateList
mMDAverageBasedSeatingStateList = MakeCBStateList
mMDRandomBasedSeatingStateList = MakeCBStateList
mLDFemalesPickMalesStateList = MakeCBStateList
mLDMalesPickFemalesStateList = MakeCBStateList
mLDAnyonePicksAnyoneStateList = MakeCBStateList
mLDAnyonePicksOppositeStateList = MakeCBStateList
End Sub
Private Sub MakeCBStateList As StateListDrawable
Dim CBCheckedBox As BitmapDrawable = LoadThisBitmapDrawable("checkbox_checked_box.png")
Dim CBUnCheckedBox As BitmapDrawable = LoadThisBitmapDrawable("checkbox_unchecked_box.png")
Dim CBStateList As StateListDrawable
CBStateList.Initialize
CBStateList.AddState(CBStateList.State_Checked , CBCheckedBox)
CBStateList.AddState(CBStateList.State_Unchecked, CBUnCheckedBox)
Return CBStateList
End Sub
I was under the impression that if I loaded the bitmap once I could share it with different statelists.
I never doing anything to the bitmap directly, but I do make different check-boxes (Togglebuttons that have one of the statelists as a background (that code not shown)) visible / enabled based on different options selected.
But doing so with the original code just starting making (other check-boxes start disappearing).
So have I been under the wrong impression and I need to load a new bitmap for every statelist?
BobVal