2011-03-23 3 views
0

나는 스레드에서 실행중인 게임을 가지고 스레드 내에서보기의 여백을 수정하고 싶습니다.레이아웃 변경 안드로이드에서 스레드 내에서 한계

다음 코드는 주 활동에서보기의 여백을 변경하는 데는 잘 작동하지만 AlertDialog가 닫힌 후에는 스레드 내에서 변경해야합니다.

View view = (View) findViewById(R.id.viewname); 
ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) View.getLayoutParams(); 
mlp.setMargins(0, 10, 0, 0); 

그러나 스레드에서 동일한 코드는 null 포인터 예외를 반환합니다.

나는 무엇을해야할지 모르겠다.

답변

0

액티비티에 여백을 수정하는 함수를 추가하십시오. 그런 다음 스레드에서 호출하십시오. 처리기 및 실행 파일을 사용하여 예제를 볼 수 있습니다. here

+0

주 활동에 함수를 넣었지만 스레드는 주 활동에 채워진 별도의보기에서 실행되며 참조 할 수 없습니다. –

+0

스레드가 별도의 활동으로 생성되었음을 의미합니까? 정말로 길다면 요점 (https://gist.github.com/)에 더 많은 코드를 게시 할 수 있습니까? –