자료
동적으로 객채 생성후 각각에 이벤트 주기~!
사진미소
2012. 3. 26. 19:30
버튼 클릭으로 EditText를 추가 한다
그리고 추가된 각각의 EditText에 이벤트를 걸어준다.
가끔 선택이 안되는 버그가 있다 이유를 모르겠다.
//객체 추가 생성 메소드
public void btnTextViewAdd(View v) {
incrementID++;
addEditText = new EditText(PhotoUpload.this);
addEditText.setText("내용 입력 하는 곳");
addEditText.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
addEditText.setPadding(150, 150, 50, 10);
addEditText.setBackgroundColor(Color.TRANSPARENT);
addEditText.setId(incrementID);
addEditTextList.add(addEditText);
lytCropMain.addView(addEditTextList.get(incrementID));
int j=0;
for(int i=-1;i< incrementID; i++){
j = i;
j++;
addEditTextList.get(j).setOnLongClickListener(mLongClickListener);
addEditTextList.get(j).setOnTouchListener(mTouchListener);
}
}
View.OnLongClickListener mLongClickListener = new View.OnLongClickListener() {
public boolean onLongClick(View v) {
//이동시 팝업 실행 안함~!
if(MotionEvent.ACTION_MOVE != eventaction){
Intent intent = new Intent(PhotoUpload.this, PopSetFont.class);
startActivityForResult(intent, EDIT_TEXT_RESULT);
}
Log.i("LONG1", "longclick");
return true;
}
};
View.OnTouchListener mTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int X = (int) event.getX();
int Y = (int) event.getY();
eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_UP :
Log.i("A1", "UP" + X + "," + Y+","+v.getId());
break;
case MotionEvent.ACTION_MOVE :
Log.i("B1", "MOVE" + X + "," + Y+","+v.getId());
// addEditText.setPadding(X-50, Y, 50, 10);
addEditTextList.get(selectID).setPadding(X-50, Y, 50, 10);
break;
case MotionEvent.ACTION_DOWN :
selectID = v.getId();//이게 중요했다
Log.i("C1", "DOWN" + X + "," + Y+","+v.getId());
break;
}
return false;
}
};