2011-07-01 3 views
0

내가 ListView에로,이 문자열의 왼쪽과 오른쪽에 다른 표시 SimpleAdapter를 사용으로 2 개 배열을 추가하려면이 올바른 방법입니다. 및 배열 B의 1로 배열 A로부터 1 일 1 라인에, 등등 .. 여기 는</p> <p>문자열은 2 개 개의 다른 배열에, SimpleAdapter

은 내가 사용하는 코드의 일부이다 : 나는 더 나은이 확신

String[] array= getResources().getStringArray(R.array.Names_List); 

    int lengthtmp= array.length; 
    for(int i=0;i<lengthtmp;i++) 
    { 
     counter++; 
     AddToList(array[i]);    
    } 

    adapter = new SimpleAdapter(this,list,R.layout.start_row,new String[] {"number","suraname"},new int[] {R.id.Start_Numbering,R.id.Start_Name}); 


    private void AddToList(String name) { 
    HashMap<String,String> temp = new HashMap<String,String>(); 


    temp.put("number", Integer.toString(SortingPictures[counter-1])); 

    temp.put("suraname", name); 
    list.add(temp); 

} 

내가 원하는 것을 만드는 방법. 누구든지 올바른 방법을 제안 할 수 있습니까?

감사합니다.

+0

새로운 어댑터를 작성를 추가 두 개의 배열을 추가하려면
의 내용을 복사 System.arraycopy에 사용할 수 있습니다. BaseAdapter를 확장하고 lsitview의 각면에 하나씩 두 배열을 사용하는 생성자를 만듭니다. – Blundell

답변

0

당신은

int[] a = {1, 2}; 
     int[] b = {3, 4}; 

     int[] ab = new int[a.length + b.length]; 

     System.arraycopy(a, 0, ab, 0, a.length); 
     System.arraycopy(b, 0, ab, a.length, b.length); 

두가 muliple 배열

public static String[] join(String [] ... parms) { 
    // calculate size of target array 
    int size = 0; 
    for (String[] array : parms) { 
     size += array.length; 
    } 

    String[] result = new String[size]; 

    int j = 0; 
    for (String[] array : parms) { 
     for (String s : array) { 
     result[j++] = s; 
     } 
    } 
    return result; 
    } 


    public static void main(String[] args) { 
    String a[] = { "1", "2", "3" }; 
    String b[] = { "4", "5", "6" }; 
    String c[] = { "7", "8", "9" }; 

    String[] big = (String [])join(a,b,c); 

    System.out.println(java.util.Arrays.toString(big)); 
    /* 
    * output : 
    * [1, 2, 3, 4, 5, 6, 7, 8, 9] 
    */ 
    } 
+0

이 대답은 내 질문과 관련이 없습니다. 제 질문은 해시 맵에 2 개의 배열을 추가하는 것입니다. – Omar