달력

11

« 2018/11 »

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
2018.11.12 11:10

SFTP 파일 업로드 Java2018.11.12 11:10

파일 업로드 설명이 잘 되어 있는 사이트.

https://steemit.com/kr-dev/@capslock/java-sftp-using-jsch-sftp

Posted by 라면사리누구야!!
2018.10.13 17:29

KDE가 쓰고 싶어서...삽질 했음... Linux2018.10.13 17:29

그놈만 쓰다보니 KDE가 그리워서 뭐를 써볼까 하다 No.1 리눅스를 설치해서 써봤다...

근데...뭐랄까...하루에 한번씩은 걍 먹통이 되는 현상이 있어서 왜 그런지 모르겠다...ㅡㅡ;;

아놔~ 개발하는 PC인데 한번씩 먹통이 되면 안되기에 이번엔 페도라를 설치 했다..

KDE를 쓰겠다는 강한 의지로 인해...ㅎㅎ 근데...페도라도 같은 증상이 있어서 다시 밀고 토요일인 오늘...점심 먹고...느즈막~히 출근을 해서 마지막이란 심정으로(이번에도 안되는 걍 민트 19 설치할 생각...) 쿠분투로 설치했는데...

어떨려나 모르겠다...ㅡㅡ;;

Posted by 라면사리누구야!!
2018.08.27 14:13

RecyclerView 내부 view에 이벤트 달기... Android2018.08.27 14:13

RecyclerView Item에 버튼이나 체크박스가 있을때 발생되는 이벤트를 Adapter에서 처리 할수도 있겠지만, 어쩔수 없이

Activity에서 처리를 해야 할때도 있다...이럴때 구현하는 방법을 남겨본다...이렇게 라도 안하면...까먹어서..ㅠㅠ

내가 알고 있는 방법은 두가지가 있다. 첫번째를 Tag를 이용하는 방법과, 이벤트 리스너를 만들어서 하는 방법이 있는데,

이벤트 리스너를 만들어서 처리 하는 방법으로 남긴다.

우선 class가 하나 필요 하다.

(activity에 inner 클래스로 만들어도 된다.)

public class ListEventListener {

private OnViewItemClickListener onViewItemClickListener;

public interface OnViewItemClickListener{
public void onViewItemClick(Map<String, String> item);
}
}

리스트에 있는 특정 view에서 이벤트가 발생이 되면 해당 item에 대한 데이터 전체를 받을 거라서 인자값을 Map으로 했다..


Activity에서는 아래 처럼 이벤트가 발생 했을때 처리할 리스너를 구현해 준다.

ListEventListener.OnViewItemClickListener onViewClickListener =
new ListEventListener.OnViewItemClickListener() {
@Override
public void onViewItemClick(Map<String, String> item) {
Toast.makeText(OrderAddActivity.this, "이벤트 테스트", Toast.LENGTH_SHORT).show();
}
};

그리고 RecyclerView Adapter 생성자에 onViewClickListener를 넘겨주고

OrderAddAdapter adapter = new OrderAddAdapter(this, onViewClickListener);


Adapter에서는 아래처럼 이벤트가 발생했을때 인자로 넘긴 이벤트 리스너를 호출해 주면 Activity에 구현된 

이벤트 리스너가 실행이 된다...

holder.ivDelete.setOnClickListener { v ->

onViewClickListener.onViewItemClick(item)
}


알면 참 쉬운데...모르면 개고생 인듯...ㅡㅡ;;;

Posted by 라면사리누구야!!

listview, recyclerview를 사용하면서 리스트 안에 checkbox를 넣어야 할경우

체크된 상태를 유지를 못하게 된다.

대부분 아래 코드와 같을 거라 본다...

holder.cbFavoritItem.setOnCheckedChangeListener(
CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->

if (holder.cbFavoritItem.isPressed){
onCheckedChange.onViewCheckedChange(isChecked, item)
}
})

이렇게만 해서 리스트를 구현을 하게 되면 나타나는 증상은 체크박스에 체크를 하고 리스트를 아래로 스크롤을 하고 다시 체크한 항목이 있는 위치로 오게 되면 체크가 풀려 있는 현상이 나타나게 되거나 또는 스크롤을 아래로 내리다 보면 체크가 안되어 있는 항목이 체크 되어 있는 등의 증상들이 나타나게 된다. 


holder.cbFavoritItem.setOnCheckedChangeListener(null)

이럴때는 위 코드 처럼 이벤트를 등록하기 전에 null로 초기화 후 이벤트를 등록해 주면 된다.

만약에 리스트에 들어갈 데이터에 특정 상태값에 따라 체크를 바꿔줘야 한다면, 


holder.cbFavoritItem.isPressed

위 코드를 통해서 사용자에 의해 발생된 이벤트인지 여부를 판단해서 처리해 줘야 하는것도 까묵지 말자...


전체 소스중에 해당되는 부분만 추려 보면 아래와 같다.


holder.cbFavoritItem.setOnCheckedChangeListener(null)

if (isFavorit == "T") {
holder.cbFavoritItem.setChecked(true)
}
else{
holder.cbFavoritItem.setChecked(false)
}

holder.cbFavoritItem.setOnCheckedChangeListener(
CompoundButton.OnCheckedChangeListener { buttonView, isChecked ->

if (holder.cbFavoritItem.isPressed){
onCheckedChange.onViewCheckedChange(isChecked, item)
}
})


Posted by 라면사리누구야!!

Source: StatCounter Global Stats - OS Market Share



윈도 점유율은...역시나 어마어마 하구만~ 

리눅스...1.48% 

후훗~ 그럼 난 전세계 1%에 속하는구마잉~ ㅋㅋㅋ

이런거라도 1% 클럽에 들수 있어서...가문에 영광 이구만~ ㅎㅎ

리눅스 쓰면 전세계 1% 클럽에 들수 있어요~~ 리눅스 쓰세요~ ㅋㅋㅋㅋ


Posted by 라면사리누구야!!