android 编写发表帖子的页面

由于公司项目的原因,这两天在写一个发表帖子的页面,逻辑涉及到草稿的保存,图文混排,因为花了两天的时间来弄这个,所以就此记录一下。

页面的布局,只需要一个EditText。

图文混排的方法:使用span的方式来显示,这个网上有很多教程,就不多说了,总结一下就是先获取图片的uri,然后转化为bitmap,为了避免oom,建议大家使用第三方工具,本人采用的是imageloader,转成bitmap就可以new出一个imagespan了。

数据的保存:采用List<T>的方式,最后保存到xml文件中。主要就是自己创建一个bean类,里面两个字段,一个content(String),一个type(int),type用来表示数据类型(文字或者图片,因为表情的实质也是文字,所以一起归到文字类型中)。首先肯定是要获取到edittext上的内容,但这个内容是经过处理的,主要就是获取相片的回调方法中,确保uri不为空之后给前面的内容加上自己特定的标识符,然后在uri之后也加上标识符,然后根据标识符使用split方法分割内容,最后遍历数组存到list中,进而保存到xml中(因为xml文件是根据标签来保存,而list不能保存,因此我是把list转化成json字符串之后保存,取的时候再转成list就可以了)。

PS:主要就是注意光标的位置,分为三种情况:1.光标位于起始位置  2.光标位于文本中间 3.光标位于文本末尾。 还有删除的时候也要做一下监听,不让用户把你的特定标识符给删除了,否则分割错误。


附:我也曾试过另外两种方法:1.一个edittext  然后使用正则去匹配  匹配到特定字符就转化为图片,但是这样感觉比较麻烦,而且本人的正则不是很厉害,所以到一半就放弃了。2.使用listview的方法,每个item只有一个edittext   这样每次显示一种数据的时候就new一个对象,保存也很方便,只要把数据源list转化为json字符串保存就可以,但是这种方式在删除的时候很麻烦,有很多细节需要去判断,因此也放弃了。   最后发现上面那种方法是最简单的,因此就采用了那种方法。   这个只是分享,文笔不好,写的有点乱,如果哪位读者看到,希望能多多见谅。  如果我说的不对,麻烦Q我一下 397192185    谢谢啦!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值