selection 하는 방법에 대해서 궁금합니다.
TextView나 EditText에서 long click을 통해서 단어를 선택하여 주고 싶습니다.
예전에는 갤탭에서 테스팅 할때는 야매로 한 방법이 통했으나, 다시 갤럭시s 에 맞추는 과정에서 제대로 작동이 안되는것을 발견했네요
getSelectionEnd나 getSelectionStart 둘다 -1 을 return 시켜주는 걸로 봐서 단어 자체에 select 가 안되어있는거 같습니다.
이러한 방법을 해결할 수는 없나요?
안드로이드펍에서 onTouch를 이용한 방법을 보았으나, 그 방법을 사용하였을 경우에는 스크롤이 안되는 어려움이 있어서 현재 다시 공부를 하고 있습니다.
contentView.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
mMediaPlayer.pause();
AlertDialog.Builder dial = new AlertDialog.Builder(longOperationContext);
dial.setTitle("사전 검색");
final CharSequence[] items ={"사전 검색"};
dial.setItems(items, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String m = contentView.getText().toString().substring(0, contentView.getSelectionEnd());
String[] temp = m.split(" ");
final FindText findCs = new FindText(temp[temp.length-1], longOperationContext);
final String mean = findCs.Find().replace('>', '\n');
//mean = mean.replace('>', '\n');
final AlertDialog ad = new AlertDialog.Builder(longOperationContext).create();
ad.setTitle("단어");
//ad.setMessage(mean.substring(0, mean.indexOf('>')) + "\n" + mean.substring(mean.indexOf('>')+1, mean.length()-1));
ad.setMessage(mean);
다음 소스는 예전에 야매로 구현할 적의 소스 입니다. TextView 에다가 이벤트를 등록하여서 작성을 했었습니다.