안드로이드 개발 질문/답변
(글 수 45,052)
public class Paint_Draw extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
// 버튼을 xml과 연결
Button gopaint = (Button)findViewById(R.id.goPaint);
Button goload = (Button)findViewById(R.id.goLoad);
Button godel = (Button)findViewById(R.id.goDel);
Button exit = (Button)findViewById(R.id.Exit);
// 버튼에 대한 기능 정의
gopaint.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(Paint_Draw.this,Paint_Page.class);
startActivity(intent);
}
});
goload.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(Paint_Draw.this,Data.class);
startActivity(intent);
}
});
godel.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v){
int x = 1;
Intent del = new Intent(Paint_Draw.this, Data.class);
del.putExtra("Data_Int", x); // 불어오기인지 삭제인지 구분하기 위한 데이터 전달
startActivityForResult(del,0);
}
});
exit.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v){
finish();
}
});
}
}<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id = "@+id/goPaint"
android:layout_weight="0"
android:background="@drawable/start"/> ... 이하 코드 생략<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/pressstart1" /> <item android:drawable="@drawable/start1" /> </selector>
안녕하세요~ 이미지버튼 적용시 런타임에러가 떠서 질문올립니다~!
맨 위에 코드는 그림판 코드중에 메인코드만 붙혀넣기 한것이에요! 이미지 버튼 적용않했을시에는 이상없이 실행잘 되는데요.
그 아래 코드들 처럼 drawable에 xml파일에 selector주고 main.xml에서 이미지버튼 불러오면 런타임 에러가 뜨네요 ㅠㅜ
이미지는 두개인데요 200 x 100px 짜리 입니다! 이미지가 너무 큰가? 해서 작게도 해보았지만 않되는군요;;




ImageButton 은 android.wiget 를 상속 받습니다. 그러니 findViewById 에서 Button 으로 class cast 하시면
class cast exception 발생할겁니다. ImageButton 으로 cast 하시면 됩니다.