마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

onclicklistener 가 안먹혀요 ㅠ

0 추천

package com.ysc.ac8;

import android.content.Context;
import android.drm.DrmStore.Action;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
public class GameView extends SurfaceView implements Callback {
Context mContext;
SurfaceHolder mHolder;
GameThread mThread;
boolean jogun=true;
Button bt_1=(Button)findViewById(R.id.button1);
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
SurfaceHolder holder=getHolder();
holder.addCallback(this);

mHolder=holder;
mContext=context;
mThread=new GameThread();


// TODO Auto-generated constructor stub
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
mThread.start();

}
@Override
public void surfaceCreated(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
// TODO Auto-generated method stub
}
class GameThread extends Thread
{
Bitmap p1[]=new Bitmap[3];
int count=0;



public GameThread()
{
p1[0]=BitmapFactory.decodeResource(getResources(), R.drawable.gawe);
p1[1]=BitmapFactory.decodeResource(getResources(), R.drawable.bawe);
p1[2]=BitmapFactory.decodeResource(getResources(), R.drawable.bo);
bt_1.setOnClickListener(mClick);
}
public void run()
{
Canvas canvas=null;
while(true)
{
canvas=mHolder.lockCanvas();
try
{
synchronized (mHolder)
{

if(jogun==false){
for(int i=0;i<3;i++)
{
if(count%3==i)
canvas.drawBitmap(p1[i],0, 100,null);
}
count++;
}

}

}
finally
{
mHolder.unlockCanvasAndPost(canvas);
}
}
}
}
private OnClickListener mClick=new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}
};

}
 
제가 버튼을 하나만들고 그것을누르면 그림3개를 돌리던것을 정지하려고 ㅠㅠ
저렇게 했는데
 
안되네요 ㅠ
 
bt_1.setOnClickListener(mClick);을 주석처리하면 실행 되는데
 
주석처리 안하면 또 안되네여 .. 하 ㅠㅠ 3시간쨰 이것만 고민하면서 하다가 정말 gg했습니다 ㅠ
 
처음에는 원터치리스너로 해보다가 안되서 원클릭리스너로 다시 했는데 안되네요 아 ㅠㅠ 정말
 
다음주에 실습해야되는데 쪽팔리지않게 계속 연습중인데 정말 안되네요 도와주세여 ㅠㅠ 간절합니다...간절하고 간절합니다..
 
혹시몰라 파일도 같이 올립니다 !! 아 그리고 제가 저기 파란색 문장을 false true로 바꿔가며 그림을 그렷다가 안그렸다가 하고싶은데
 
 
원클릭 리스너나 터치 리스너 안에다가 jogun=true 하면 클릭했을떄 다시 그려지겟죠?
양희영 (140 포인트) 님이 2013년 5월 11일 질문
이소스가 그대로라면, mClick 동작이 비었는데, 당연한거 아닐까요..

2개의 답변

0 추천
디버깅 로그 상에선 먼저 어떤 에러 메세지가 뜨는지 알려주시기 바랍니다. 단순히 터치 이벤트가 인식이 안되는 것인지 추가 에러 현상이 있는지 더 자세히 알려주세.
두부고기 (3,820 포인트) 님이 2013년 5월 11일 답변
0 추천
class T {
    Button bt_1;

    public T() {
        bt_1=(Button)findViewById(R.id.button1);
        bt_1.setOnClickListener(mClick);
    }
}

생성자 안에서 불러보세요.. 전역변수에서 버튼객체 생성하지마시고

 

bangbang (8,820 포인트) 님이 2013년 5월 13일 답변
...