2011-03-07 7 views
1

안녕하세요, 저는 tableLayout을 가지고 있으며 중첩 for 루프를 사용하여 ImageView [] []로 레이아웃을 채우고 있습니다. 저는 현재 ImageView를 클릭하고 ImageView [] [] 데이터를 재 배열하려고합니다. 그리고 재배치를 반영하기 위해 화면을 새로 고칩니다. 이것을 할 수있는 방법이 있습니까? 분명히 setContentView를 두 번 이상 호출 할 수 없습니다.Refresh tableLayout

편집 :이 코드가 onclick 이벤트의 코드인지 확인할 수 있습니다. onCreate 이벤트에서 원래 TableLayout ('tl')의 setContentView를 설정 했으므로 여기서 다시 호출 할 수 없습니다.

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch(v.getId()){ 
    case 1: 
     image_array = switchTile(image_array, 2,1,0,0); 
     Toast.makeText(this, "1 clicked!", Toast.LENGTH_LONG).show(); 

    } 

    tl.removeAllViewsInLayout(); 

    for(int i = 0; i < level; i++){ 
     TableRow new_tr = new TableRow(this); 
     new_tr.setLayoutParams(layout_image); 

     for(int j = 0; j< level; j++){ 
      new_tr.addView(image_array[i][j]); 
     } 
     tl.addView(new_tr); 
    } 

    tl.invalidate(); 

} 

답변

1

try : tableindex.removeAllViews();

0

이미지를 이동하려는 경우 기존 ImageViews에서 setImageBitmap() 작업을 수행하면됩니다. 동일한 비트 맵을 사용하여 원하는 ImageViews에 표시 할 수 있습니다.