Android 基于Socket发送表情

曾经一度被这个问题困扰了很久,在网上找了N久都没发现好方法,不是太麻烦,就是根本不能实现。

最后的最后终于这个被很可笑的解决的了,之所以可笑是因为我拿这个问题去问别人,那人思索良久,最后还是告诉我不能解决,但是可以提供一个思路,反正我也没办法了,就所幸听他说一下吧,一说果然是都被我试了N次而放弃的方法,但碍于面子就没打他,可是就在我装作很认真的听着的时候,忽然不经意的一句话给了我答案,于是就这么解决了,方法简单的要死,好吧,下面就说说吧

首先我是用ListView显示的聊天内容(我弄的是一个聊天室的的东西),当然这都无所谓,之用一个EditText也OK,

这是我插入表情的对话框,相信不难看懂吧。

public void showImageDialog() {           LayoutInflater inflater = LayoutInflater                   .from(AndroidClientActivity.this);           LinearLayout layout = (LinearLayout) inflater.inflate(                   R.layout.dialoglayout, null);           AlertDialog.Builder builder = new AlertDialog.Builder(                   AndroidClientActivity.this);           builder.setTitle("选择表情")           .setMessage("要添加的表情")           .setView(layout);           GridView gv = (GridView) layout.findViewById(R.id.gridview);                      g.simpleAdapter = new SimpleAdapter(AndroidClientActivity.this, list,                   R.layout.itemlayout, new String[] { "face" },                   new int[] { R.id.itemImageview });           gv.setAdapter(g.simpleAdapter);           gv.setOnItemClickListener(new OnItemClickListener() {               @Override               public void onItemClick(AdapterView<?> parent, View view,                       int position, long id) {                   @SuppressWarnings("unchecked")                   HashMap<String, Object> m = (HashMap<String, Object>) parent                           .getAdapter().getItem(position);                                      CharSequence cs = Html.fromHtml("<img src='" + m.get("face")                           + "'/>", imageGetter, null);                   System.out.println("face-----"+Html.toHtml((Spanned) cs));                   int cursor = etMsg.getSelectionStart();                   etMsg.getText().insert(cursor,cs);                                  }           });  

插入之前需要定义这样一个接口,这个在网上都是可以找到的

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywpyf.html