public class BackgroundActivity extends Activity implements
OnItemClickListener, OnClickListener {
List<ListString> rowItem;
ListView listView;
private Button okButton;
private Button cancelButton;
ListViewAdapter adapter;
boolean saveBoolean;
String saveString;
public static final String[] title = new String[] { "배경 1", "배경 2" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ex);
setResult(Activity.RESULT_CANCELED);
rowItem = new ArrayList<ListString>();
for (int i = 0; i <= title.length; i++) {
ListString item = new ListString(title[i], false);
rowItem.add(item);
}
listView = (ListView) findViewById(R.id.set);
adapter = new ListViewAdapter(BackgroundActivity.this,
R.layout.ex_name, rowItem);
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
okButton = (Button) findViewById(R.id.ok_button);
cancelButton = (Button) findViewById(R.id.cancel_button);
okButton.setOnClickListener(this);
cancelButton.setOnClickListener(this);
}
private boolean getSaveBoolean(String key, boolean value) {
SharedPreferences preferences = getSharedPreferences("Background",
Activity.MODE_PRIVATE);
return preferences.getBoolean(key, value);
}
private void saveDataBoolean(String key, boolean value) {
SharedPreferences preferences = getSharedPreferences("Background",
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
ListString list;
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
list = (ListString) parent.getItemAtPosition(position);
if (list.ismCheck() == false) {
list.setmCheck(true);
Toast.makeText(getApplicationContext(), list.getTitle(),
Toast.LENGTH_LONG).show();
} else {
list.setmCheck(false);
}
adapter.notifyDataSetChanged();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.ok_button:
saveDataBoolean(list.getTitle(), list.ismCheck());
finish();
break;
case R.id.cancel_button:
finish();
break;
}
}
}
baseActivity와 커스텀 리스트뷰를 사용 하였는데...버튼이 체크 되어 있는 것을 저장을 하려고 sharedPreferences를 사용
을 하였습니다. 위에 처럼 코딩을 해 보았는데....
이 액티비티를 띄우니 오류가 바로 생기더군요....
sharedPreferences를 처음 사용해서 이래저래 구글링을 해보았지만....이해력이 부족해서... 사용을 못하고 있습니다 ㅜㅜ
save 할 때 잘못 된 것 같기도 하고...load 할 때 소스 코드를 넣어도 오류가 생기고....
데이터를 load 할 때 어떻게 해야 할지...