마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰에서 체크한목록들만 다른액티비티에서 다시 리스트로생성하기

0 추천
리스트뷰에서 체크한목록들만 다른액티비티에서 다시 리스트로생성하기를 하려고하는데

체크를한뒤 버튼을누르면 체크한것들을 디비에저장하고 다른액티비티에서 그 디비에저장한것을 가져와야하나요??

아니면 더쉬운방법이있나요??? 어떻게 풀어야할지 방법좀알려주세요
chobojin (200 포인트) 님이 2015년 12월 3일 질문

2개의 답변

0 추천
디비에 넣는게 일단 제일 안전한 방법이고 간단하게 쓰실거면 그냥 메모리에 넣고 전달해도 됩니다.
aucd29 (218,390 포인트) 님이 2015년 12월 3일 답변
리스트뷰내용들을 디비에넣고 다시꺼내쓰는건가요??
0 추천
대충 아래와 같은 형식으로 객체를 사용해서 다른액티비티로 던지면 되겠네요.isCHeck가 체크버튼 선택 유무에요. 체크선택할때 Adapter안에서 check값을 바꿔주셔야하는 쌘스는 잊지 마시고요.

Calss A{

ArrayList<DATADAO> alDAO = new ArrayList<DATADAO>();

Adapter = new Adpater(this, R.layout.item, alDAO);

Intent intent = new Intent(this, B.class);

intent.putExtra("serializableDAO",alDAO);

startActvity();

}

cass B{

ArrayList<DATADAO> intent = getIntent().getSerializableExtra("serailizableDAO");

}

Cass DATADAO{

String nameData;

boolean isCheck;

}
전판진 (240 포인트) 님이 2015년 12월 4일 답변
이건 디비를이용하지않고 액티비비에서 액티비티로 값을 넘겨주는건가요??
제가
Activity2에는
mes = "Selected Item : \n";
                for(int i=0; i<num.length;i++) {
                    mes += i + " : " + name[(int)num[i]];
                    mes +="\n";
                }
                Log.e(tag, mes);
                Toast.makeText(MainActivity2.this, mes, Toast.LENGTH_SHORT).show();

                Button b = (Button)findViewById(R.id.buttonOK);
               // final String finalMes = mes;
                b.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String id = name.toString();
                        Intent intent = new Intent(MainActivity2.this, MainActivity3.class);
                        startActivity(intent);
                        intent.putExtra("value", id);
                    }
                });
            }
이렇게했고
Activity3에는
 Intent intent = getIntent();
        String data = intent.getStringExtra("value");
        Toast.makeText(MainActivity3.this, data, Toast.LENGTH_SHORT).show();
이렇게했는데 선택한것들을 액티비티2에서 토스트로한번띄우고 3에서도 값넘어가는것을 확인하려고 다시 토스트로 띄우려는데 잘안되네요... 빈토스트가뜨네요
...