안녕하세요.
환경설정 화면을 PreferenceActivity로 만들었는데요.
도움말 화면에서 인텐트에 문자열을 담아서
이 환경설정 화면으로 이동해서
문자열에 해당하는 preference 부분으로 스크롤해서 이동하여
화면을 보여주려고 합니다.
현재 설정화면으로 이동까지는 되었는데
문제는 설정 화면에서 특정 preference로 스크롤해서
화면에 보여주는 것이 안되고 있습니다.
구글링을 열심히 해봤는데요.
smoothScrollToPosition()
이 매서드로 이동이 가능한데
문제는 이 메서트가 onCreate, onResume 과 같은 곳에서는 사용이 안되어서
getListView().post(new Runnable() 과 같이
화면이 다 그려진 후에 던져야한다고 하는데
이것도 작동이 안되더군요.
그래서 thread, 타이머, 핸들러 등으로 해봤지만 안되더군요.
설정 화면을 띄울 때 특정 부분으로 이동해서 나타나게 하는 좋은 방법이 없을까요?
도움 주시면 고맙겠습니다.
다음은 도움말 Activity의 해당 코드입니다.
TextView helpT = (TextView)findViewById(R.id.helpT6);
helpT.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Help6.this, Setting.class);
intent.putExtra("prefPosition", "autoEmailBackup");
startActivity(intent);
}
});
다음은 설정 Activity의 onCreate에 있는 코드입니다.
getListView().post(new Runnable() {
@Override
public void run() {
Intent intent = getIntent();
String prefPosition = intent.getStringExtra("prefPosition");
if( !prefPosition.equals("")) {
int pPosition = getScrollPosition(prefPosition);
getListView().smoothScrollToPosition(pPosition);
}
}
});