package com.example.joo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.Toast;
public class mainpage extends Activity implements OnClickListener{
Intent intent = null;
BitmapDrawable bitmapDrawableLogo = null;
ImageView iv = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainpage);
iv = (ImageView) findViewById(R.id.china);
bitmapDrawableLogo=(BitmapDrawable) iv.getResources().getDrawable(R.drawable.china);
iv.setImageDrawable(bitmapDrawableLogo);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(), china.class);
startActivity(intent);
}
});
iv.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
if(event.getAction()==MotionEvent.ACTION_DOWN){
bitmapDrawableLogo=(BitmapDrawable) iv.getResources().getDrawable(R.drawable.chinap);
iv.setImageDrawable(bitmapDrawableLogo);
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibe.vibrate(55);
return true;
}else if(event.getAction()==MotionEvent.ACTION_UP){
bitmapDrawableLogo=(BitmapDrawable) iv2.getResources().getDrawable(R.drawable.china);
iv.setImageDrawable(bitmapDrawableLogo);
}
return false;
}
});
저기서 왜 Intent가 실행이 안되는거죠???????????????
그리고 new Intent(this, china.class)도 해봤고, new Intent(mainpage.this, china.class)도 해봤는데 어플 실행해서 아무리 클릭해도 아무것도 안되네요... 단지 저 onTouchListener 부분의 그림 이미지 변경되는 것밖에 구현이 안되요 ㅜㅜ
고수분들 제발 도와주세요 ㅜㅜㅜ 울고싶네요 ㅜ
Intent intent = new Intent( mainpage.this china.class);
로 한번 해보세요
만약 뭔가 응답은 하는데 어플이 죽는다 싶으면 매니페스트에 엑티비티 추가하시고요
확실한건 아니지만, Click 이벤트보다 Touch 이벤트가 먼저 발생하고
ACTION_UP이 되고, 그뒤에 다른 이벤트들이 처리된후 Click이 발생하지 않을까요?
ACTION_UP에서 return false를 하고있으므로, 이 후의 이벤트 처리를 하지않으시니깐
Click 이벤트가 발생하지 않는거라고 생각됩니다.
ACTION_UP에서 return false하시기 전에 Intent 사용하시면 될듯하네요.
그리고, 이미지 변경은 Drawble 생성안하시고 바로 Resource Id로 작업가능합니다.
setImageResource 함수를 사용하세요 ^^




제가 보기엔 터치리스너가 동작하면서 클릭리스너가 동작하지 않는것 같은데........ 원래 하나씩만 써봐서 잘모르겠네요....
어차피 터치될때(클릭될때) 실행할거면 클릭리스너에 있는걸 터치리스너로 옮기면 되는거 아닌가요?? 해결될거 같은데...