2011-11-30 6 views
2

목록보기가 여러 선택 항목으로 설정되어 있습니다. 제 질문은 그 이름으로 "확인"된 항목을 추적하는 방법입니까?여러 선택 항목이있는 "추적"ListView

Intent formed = new Intent(this, formedlist.class); 
SparseBooleanArray sp=getListView().getCheckedItemPositions(); 
String str=""; 
for(int i=0;i<sp.size();i++) { 
    str+=names[sp.keyAt(i)]+","; 
    formed.putExtra("strings", str); 
    if(names[sp.keyAt(i)].toString().equals(<String>)) 
     startActivity(formed); 
} 

이 문자열을 반복해야하는 이유는 무엇입니까? 새로 형성된 목록을 표시하는데 다음 클래스의 코드가 체크 된 항목 목록의 내부에 무엇을 볼 수있는 방법

if(names[sp.keyAt(i)].toString().equals(<String>)) 


//get the Listview from the previous class (this is in a new class seperate from other methods 
    Intent formed = getIntent(); 
    String [] needed = formed.getStringArrayExtra("strings"); 

    //ArrayAdapter will makes strings appear in the ListView 
    this.setListAdapter(new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_2, needed));` 

이다?

답변

0

이 방법을 사용하는 데 문제가 없습니다. 이 방법으로 문제가 있습니까?

의도를 올바르게 작성하지 않았습니다. 당신이 결코 if 문 내부에서 실행되지 않을 경우 별도의 활동에 탐색하기위한 인 텐트를 만들려면,이 형식

Intent formed = new Intent(this, OtherActivity.class); 

를 사용하여, 당신이 일이 갈 곳을보고 비교하거나 디버거를 통해 스테핑 무엇 값 로그인합니다 틀려서. 라인 에서

+0

예'경우 (.. 이름 [sp.keyAt (I)] toString() 등호 ("당신은")) startActivity를가 (형성),' 이 활동을 시작하지 않습니다, 그것은 아무것도하지 않는다. – RIVERE

+0

디버거를 단계별로 실행하면 해당 행이 실행됩니까? 이 의도를 작성하는 데 사용하는 코드를 게시 할 수 있습니까? – Craigy

+0

Ewww, 해당 코드를 원래 질문으로 편집 한 다음 주석을 제거 할 수 있습니다. GC 가비지 컬렉터를 의미합니다. 정상입니다. Java에서 똑같은 일이 발생합니다. – Craigy

관련 문제