안드로이드 개발 질문/답변
(글 수 45,052)
/*====================================질문1================================*/
//메인.java 에서 실행하면..
setContentView(R.layout.main);
// 매인 버튼 2개 설정
View aboutButton = findViewById(R.main.num1_button);
aboutButton.setOnClickListener(this);
View exitButton = findViewById(R.main.num2_button);
exitButton.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()) {
case R.main.num1_button:
//1번버튼은 아직 layout 생각안해놓음..
break;
case R.main.num2_button:
setContentView(R.layout.soket); (여기서 이걸쓰는게아니라 다른 class 파일 안에 이 문장을 넣을생각..)
//2번버튼 누르면 layout 을 불러오는데.. 저는 다른 class (.java파일)을 불러와서 layout을 실행하고싶은데
// 어떻게 적어야하나요?
//예) main2.java 파일을 2번 버튼이 눌러지면 실행? 하게끔..
break;
}
class 파일 == src 안에 있는 .java 파일
/*==================질문 2==========================================*/
class 파일을 불러와서 layout 실행하고 실행된 layout 안에 버튼 여러개가있고 버튼별로 다른기능을 한다면...
(각버튼기능마다 class 파일만들어서 버튼누르면 실행할 생각인데..) 좋은생각인지.. 나쁜생각인지 모르겠습니다.
기능이 1번= 이미지 2번= 영상 3번= 플래시 를 보여줄 생각이라 버튼을 누르면 layout 전체가 바껴서 기능을해야하기때문에.
.(다른방법도있을려나?)
이방법이 객체 지향적인 방법 인지는 잘모겠어요~ 좋은방법 있으시면 가르쳐주세요~ ㅜㅜ
이미지를 보시면 제가 말하려는걸 알수 있을거에요
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 다운로드~
2010.12.13 11:20:14
아~~ 그러긴하는데요.. 소스가 복잡해지니까 저렇게 는 안될가 생각해봤어요 ^^
Intent intent = null;
intent = new Intent(this, soket.class);
startActivity(intent); 이런기능있던데요. 오류가 떠서요 ㅠㅠ
2010.12.13 17:19:38
저번 질문에 이어서 이야기하자면 저는 메인에서 코딩하는걸 싫어해서 기능구현도 다 클래스로 쪼개서 구현해놨기때문에 메인엑티비티에는 실질적으로 레이아웃 생성과 클래스 생성외에는 없습니다.
첨부파일을 보니 클래스에서 레이아웃을 추가하신다는 것 같은데......
클래스에서 레이아웃을 추가하는데는 전혀 문제가 없습니다.
LayoutInflater.from(메인엑티비티).inflate(추가시킬 레이아웃 아이디인덱스, 레이아웃이 소속될 그룹-null가능, true);
이런식으로 추가가 가능합니다(저도 이방법 애용합니다.)
그런데 기존 레이아웃을 컨트롤(지운다던가 옴긴다던가) 하지 않는다면 추가된 레이아웃이 재대로 표시가 되지 않아 재대로 동작하지 않을 것 같네요.




질문에 대한 대답은 아닙니다만.....
첨부해주신 이미지 보니
레이아웃이 변경되고 다른 기능이 실행되는듯 하군요
이런 것은 새 액티비티로 분리하시는게 어떨까 합니다...
기능별로 분리해서 별도의 액티비티로 하시는게 여러모로 편리하거든요...
back키를 눌러서 이전 화면으로 이동하는것이라든지..