2013-08-02 5 views
2

체크 박스 대화 상자가 있습니다. 디프 풀을 점검하여 해당 값 중 일부를 설정하려고합니다.체크 박스 대화 상자에서 체크 박스를 기본으로 설정하는 방법

내 체크 박스의 대화는 다음과 같습니다

final String[] layers_name=new String[3]; 

for (int i=0;i<m_Renderer.m_Project.m_Layers.size();i++) 
{ 
    layers_name[i]=m_Renderer.m_Project.m_Layers.get(i).m_LayerName; 

} 


this.m_listview=new AlertDialog.Builder(c); 
m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name,null,new DialogInterface.OnMultiChoiceClickListener() 
{ 
    @Override 
public void onClick(DialogInterface dialog,int which,boolean ischecked) 
    { 
     if (ischecked) 
     {} 
     else 
     {} 

    } 

} 


).setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 

    } 
} 


); 
m_listview.show(); 

나는이 대화 상자가 열릴 때마다 이들의 2를 확인하려면이 대화 상자에서 3 개 항목이있다. 다음에서

답변

7

:

m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, null, 
           new DialogInterface.OnMultiChoiceClickListener() 

당신은 검사 위치의 배열에 null 설정된다. 당신이 검사 할 항목에 대해 true로 부울 값을 설정

boolean[] checkedValues = new boolean[m_Renderer.m_Project.m_Layers.size()]; 

:

이 같은 부울 배열을 만듭니다. 당신이 원하는 경우 예를 들어, 첫 번째 항목을 체크한다 :

checkedValues[0] = true; 

그런 다음, 대체 :

m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, null, 
           new DialogInterface.OnMultiChoiceClickListener() 

로 :

m_listview.setTitle("Layers Information").setMultiChoiceItems(layers_name, checkedValues, 
           new DialogInterface.OnMultiChoiceClickListener() 
+0

작동 할 수 이봐, –

+0

매우 –

+0

감사합니다 @ MarbleStones 환영합니다. – Vikram

관련 문제