私はこれに慣れていないので、これはばかげた質問かもしれませんが、ユーザーの共有設定ではなく、共有設定の結果を格納するクラスを作成する方法はありますか? ユーザーの入力に基づいて、おそらく数百の動的 ImageButtons (明らかに一度に半ダース程度) を生成するメイン画面があるためです。
これまでのところ、これをメイン画面のコードに入れていますが、これは正常に機能しますが、考えられるすべての入力に対してそれを実行することは実行可能/可能ではないようです。
ImageButton ab = new ImageButton(this);
ImageButton ca = new ImageButton(this);
ca.setId(R.id.ca);
ab.setId(R.id.ab);
SharedPreferences caprefs = PreferenceManager.getDefaultSharedPreferences(this);{
LinearLayout ll = (LinearLayout)findViewById(R.id.sundayboxopen
);
if(caprefs.getBoolean("cacheckBoxon", true)) {
ll.addView(ca);
ca.setImageResource(R.drawable.cobutton1);
ca.setBackgroundColor(View.GONE);
}else{
if(caprefs.getBoolean("cacheckBoxoff", true)){
ll.addView(ca);
ca.setVisibility(View.GONE);}
}}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);{
LinearLayout ll = (LinearLayout)findViewById(R.id.sundayboxopen);
if(prefs.getBoolean("checkBoxon", true)) {
ll.addView(ab);
ab.setImageResource(R.drawable.adaba);
ab.setBackgroundColor(View.GONE);
}else{
if(prefs.getBoolean("checkBoxoff", true)){
ll.addView(ab);
ab.setVisibility(View.GONE);}
}}
ご覧のとおり、そこには と の 2 つのボタンしかありません。ca
これらab
のプロセスを、アプリの起動/再起動時に「カーテンの後ろ」でチェックされた 1 つまたはいくつかの専用クラスに分けて保存できれば素晴らしいと思います。前もって感謝します