나는 상단에 메뉴가있는 gridview를 표시하는 간단한 응용 프로그램을 만들고 있습니다. 클릭 할 때 메뉴 버튼 중 하나가 바로 아래에보기에 검색 바를 배치합니다. 그런 다음 사용자는 슬라이더를 이동하여 gridview의 항목 크기를 변경할 수 있습니다. 나는 그 부분을 잘 처리 할 수있다, 문제는 seekbar를 제거하려고 할 때 온다. 나는 시크 바가 초점을 잃었을 때 알아낼 방법이 필요합니다. 나는 setOnFocusChangeListener를 사용하여 시도했지만 호출 된 적이 결코 없다. 코드의 일부는 모두 내가 SeekBar를 여전히 볼 수있는 목록을 스크롤 할 때를 제외하고 작동 android SeekBar - 초점을 잃어버린
public class MainActivity extends Activity implements OnFocusChangeListener {
SeekBar seek;
public boolean onOptionItemSelected(MenuItem item) {
if(item.getId() == R.id.menu_grid_size)
{
if(seek != null) {
seek = new SeekBar(this);
seek.setOnFocusChangeListener(this);
...
layout.addView(seek, layoutparams);
} else {
layout.removeView(seek);
seek = null;
}
}
}
public void onFocusChange(Viewv, boolean hasFocus) {
layout.removeView(seek);
}
}
이하입니다. 어쩌면 이것이 내가 원하는 것을하기위한 최선의 방법은 아닐지도 모릅니다.
편집 : 위의 코드를 수정하여 버튼을 두 번 클릭하면 오류가 발생했습니다.