방금 Android 용 프로그래밍을 시작했습니다. 나는 내 문제를 많이 찾았지만 충고는 나에게 도움이되지 못했다. 터치 좌표에서 동일한 이미지가 화면에 표시되기를 원합니다. 그게 내가 무슨 짓을했는지의 :android, 다중 이미지 뷰 온 터치 이벤트 추가
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View main_view = (View)findViewById(R.id.main_view);
main_view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView image = new ImageView(getApplicationContext());
//ImageView image = (ImageView)findViewById(R.id.broken);
image.setImageResource(R.drawable.broken);
image.setX(event.getX() + image.getWidth()/2);
image.setY(event.getY() - image.getHeight()/2);
LinearLayout top_layout = (LinearLayout) findViewById(R.id.top_layout);
LayoutParams p = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
image.setLayoutParams(p);
top_layout.addView(image);
return true;
}
});
}
모든 것이 나에게 잘 보이지만, 화면을 터치 할 때 아무 일도 발생하지 않습니다. 내가 만든 분명한 실수는 어디 있니? 미리 감사드립니다.
'이미지 뷰 이미지 = 새로운 이미지 뷰 (getApplicationContext());'당신이 활동 컨텍스트를 사용한다 - '이미지 뷰 이미지 = new ImageView (MyActivity.this);'- MyActivity는 Activity 클래스의 이름입니다. – Simon
코드에서 setX 및 setY 행을 제거하고 다시 시도하십시오. –
xml 레이아웃 파일에 보이지 않는 루트보기가 없습니까? –