안드로이드 개발 질문/답변
(글 수 45,052)
main.xml에 리니어레이아웃 2개 선언해서
위에는 버튼3개가 보이고 아래에는 버튼을 선택함에 따라 다른 화면이 보이도록 하고싶습니다.
java 파일에 내부클래스로 MyView1,2,3 을 생성해놓은 상태구요
public class HW3_0891020Activity extends Activity {
MyView1 myview1;
MyView2 myview2;
MyView3 myview3;
LinearLayout dLayout;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dLayout=(LinearLayout)findViewById(R.id.view1);
((Button)findViewById(R.id.button1)).setOnClickListener(listener);
((Button)findViewById(R.id.button2)).setOnClickListener(listener);
((Button)findViewById(R.id.button3)).setOnClickListener(listener);
}
MyView1 myview1;
MyView2 myview2;
MyView3 myview3;
LinearLayout dLayout;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dLayout=(LinearLayout)findViewById(R.id.view1);
((Button)findViewById(R.id.button1)).setOnClickListener(listener);
((Button)findViewById(R.id.button2)).setOnClickListener(listener);
((Button)findViewById(R.id.button3)).setOnClickListener(listener);
}
Button.OnClickListener listener=new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
dLayout.addView(myview1);
break;
case R.id.button2:
dLayout.addView(myview2);
break;
case R.id.button3:
break;
}
}
};
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
dLayout.addView(myview1);
break;
case R.id.button2:
dLayout.addView(myview2);
break;
case R.id.button3:
break;
}
}
};
각 버튼을 어떻게 해야할지 모르겠습니다 . 화면을 출력할 리니어 레이아웃id는 view1이고요
dLayout.addView(myview1)이라고 했더니 프로그램이 죽더라구요..
myview1 = new MyView1()
이런코드가 안보이는데요..
뷰들이 new 됀적이 없으므로 null이 들어갈것 같네요..
에러로그도 같이 올려주셔야 확실히 알수 있습니다.