2011-01-19 5 views
0

私は画像(顔文字)を含むことができるEditTextを持っています。このテキストをコピーして別の場所に貼り付けると、画像の代わりに「obj」が表示されます。EditText:コピーするときにイメージを文字列に変更しますか?

イメージオブジェクトを文字列に変更できるように、コピー時にクリップボードに書き込む内容を変更する方法はありますか?

編集1: 私は自分のEditTextクラスを作成し、テキストをコピーするときに使用されるメソッドをオーバーライドすることができたと思います。誰にどのメソッドをオーバーライドすべきかを知っていますか?私は「のgetText()」を試してみましたが、それは動作しません...

編集2: は実際に、それは働いたが、このメソッドをオーバーライドするのEditTextのテキストを変更し、それはまだ便利されていません。 ..

答えて

0

イメージのバイト配列を作成しようとしましたか?

ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object
byte[] b = baos.toByteArray();

+0

私は様々なクライアントがそれを得ることができるようにサーバにこのメッセージを送ります。それらのうちのいくつかがイメージとして再解釈できない場合は、 ":)"のような古典的な絵文字のシンボルが表示され、スラッシュ文字の山は表示されません...これは、スパンドではなくStringを取得する必要がある理由の1つです – zorglub76

1

多分これは参考になる:

public boolean onTextContextMenuItem(int id) { 
    switch (id) { 
    case android.R.id.copy: 
     // override copy 
     return true; 
    case android.R.id.paste: 
     // override paste 
     return true; 
    } 
    return super.onTextContextMenuItem(id); 
} 
0

私はあなたの問題を解決するかどうかわかりません。私はちょうど投稿を持っていますstackoverflow_1527918

私が使った方法は、editText.getText().toStringの線形検索をして "obj"文字を見つけることです。そしてそれを画像のリンクに置き換えます。

あなたはもっと良いアイデアがあれば教えてください。ありがとうございました。

関連する問題