2번 액티비티에서 다이얼로그에서
AA변수값을 인탠트를 이용하여 메인페이지로 넘겨줍니다.
메인에서는 이를 받아 텍스트뷰에 저장합니다.
그리고 메인의 탭바 클릭 이벤트로 다이얼로그를 구현하였고
거기서 클릭 시에만 2번 액티비티에서 받은 데이터와 탭바 다이얼로그의 데이터를 모두 메인의 리스트뷰에 뿌려줍니다.
그런데 2번 페이지 정보(AA)를 변경하면 기존 메인의 리스트뷰가 초기화됩니다.
혹시 도움을 주실 분이 있을까하여 질문합니다.
소스는 관련된 부분만 올리겠습니다.
2번 액티비티. .setPositiveButton("확인", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(SettingActivity.this,"저장된 값 : " + a1 + ", " + a2 + ", " + a3, Toast.LENGTH_SHORT).show(); Intent intent = new Intent(SettingActivity.this, MainActivity.class); String AA = a1 + ", " + a2 + ", " + a3; intent.putExtra("settingData",AA); startActivity(intent); } })
메인 액티비티.
Intent intent = getIntent();
String AA = intent.getStringExtra("settingData");
data_view = ( TextView ) findViewById(R.id.data_view);
data_view.setText(AA);
mLvList = ( ListView ) findViewById(R.id.main_lv_list);
mLvList.setOnItemClickListener(this);
mAlData = new ArrayList<String>();
mAaString = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mAlData);
mLvList.setAdapter(mAaString);
--------------
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("선택해주세요.")
.setSingleChoiceItems(items, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
selectedItem[0] = which;
}
})
.setPositiveButton("확인", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Toast.makeText(MainActivity.this, items[selectedItem[0]], Toast.LENGTH_SHORT).show();
if (data_view.getText().toString() == "") {
// 설정을 안한 경우
Toast.makeText(getApplicationContext(), "설정부터하세요.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), data_view.getText().toString() + ", " + items[selectedItem[0]], Toast.LENGTH_SHORT).show();
// 현재시간 미구현
String data = "현재시간, " + data_view.getText().toString() + ", " + items[selectedItem[0]];
// 리스트에 데이터를 입력
mAlData.add(data);
mAaString.notifyDataSetChanged();