2012-06-23 4 views
0

invalidate()을 사용하여 내보기를 새로 고쳐 사용하려고 시도했지만 작동하지 않습니다. draw(Canvas canvas)을 사용하여 새로 고치는 다른 방법이 있다는 것을 알고 있습니다.Android보기가 새로 고침되지 않습니다.

누군가가 나에게 어떻게 그리는 방법을 사용하는지 설명 할 수 있습니까? 캔버스 란 무엇입니까? (보기 내가 다시 그려을 좋아하는 것입니까?)이 그것이 사용되는 방식에 일부 샘플 코드입니다

:

if(pageNumber == 1) 
    { 
     if(pageCount == --lastPageCount) 
     { 
      page2Layout.setVisibility(View.GONE); 
      page1Layout.setVisibility(View.VISIBLE); 
     } 
     if(created1 == false) 
     { 
      help.setOrientation(LinearLayout.HORIZONTAL); 
      help.setLayoutParams(params); 

      helpText.setLayoutParams(params); 
      helpText.setText("TEST!\n\n" + 
        "test\n" + 
        "Test"); 

      help.addView(helpText); 
      page1Layout.addView(help); 
      newSheetLayoutV.addView(page1Layout); 
      created1 = true; 
     } 
    } 

도 다른 부분이있다가/그대로 작동하지 않는이 코드 부분 해야합니다 (이것이 내가 새로 고침을 사용해야하는 이유입니다). 내가보기 page1Layout.setVisibility(View.GONE);를 제거하고 레이아웃에 새보기를 추가 할 때

else if(pageNumber == 4) 
    { 
     if(pageCount == ++lastPageCount) 
     { 
      page3Layout.setVisibility(View.GONE); 
      page4Layout.setVisibility(View.VISIBLE); 
     } 
     else if (pageCount == --lastPageCount) 
     { 
      page5Layout.setVisibility(View.GONE); 
      page4Layout.setVisibility(View.VISIBLE); 
     } 

     if(created4 == false) 
     { 
      LinearLayout horizontalPageLayout = new LinearLayout(this); 
      horizontalPageLayout.setOrientation(LinearLayout.HORIZONTAL); 
      horizontalPageLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

      TextView testText = new TextView(this); 
      testText.setLayoutParams(params); 
      testText.setText("Test!"); 

      page4Layout.addView(testText); 

      newSheetLayoutV.addView(page4Layout); 

      created4 = true; 
     } 
    } 

는 기본적으로 코드는 새로 고침을 제외하고, 잘 작동!

도움 주셔서 감사합니다.

답변

0

고정되어 있고, 레이아웃 생성에 addView를 추가 한 다음 필요에 따라 레이아웃을 표시합니다.

관련 문제