###やりたいこと
EditTextに文字列が入力されている場合、そのEditTextをタッチした際に、タッチした文字のみを取得したいのです。
具体的には、EditTextに「あいうえおかきくけこ」という文字列が横一列で入力されているとして、「あ」の文字をタッチすれば「あ」の文字のみを取得、「き」の文字をタッチすれば「き」の文字のみを取得したいです。
###試したこと
EditText edit = (EditText)findViewById(R.id.edit);
String str = edit.gettext.tostring;
では、文字列全部を取得してしまいます。文字列全てを取得した後に、
str.charAt(0);
なら、上記の場合「あ」の文字を取得できますが、EditTextの入力をユーザーに任せて、ユーザーがある文字をタッチした際にその文字のみを表示するといったような場合では、ユーザーがどの文字をタッチしたのか判別しないと抜き出すことが来ません。
ですので、文字列を取得した後にcharAt()を使う方法では、思うように動きません。
また、タッチした座標を取得して、その座標からタッチした文字を推測(その座標が前から何番目の文字に値するのか?を考える)する方法も考えたのですが、Textsizeによって、そのタッチした座標が文字列の何番目になるのかは変わってくると思います。
ですので、この方法でも無理かなと考えています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/15 12:56