listview的adapter里面如何再执行异步

petshop4 2014-05-12 10:42:21
item的布局有一个textview用来显示文章的;
如果文章太长, 就显示N行,并且加上‘查看全部’的按钮;
但是, textview的getLines()比如在textview显示之后才能获取的到;
如何实现?
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
哎,真难 2014-05-12
  • 打赏
  • 举报
回复
读取text的时候返回是inputstream,转化String,判断String.length,然后超过某个值就设textview.setMaxLines(N);,而且这个判断是写在adapter里面
  • 打赏
  • 举报
回复
textview.setMaxLines(N);
petshop4 2014-05-12
  • 打赏
  • 举报
回复
自己搞定 用view.post方法 贴点代码吧 Adapter的getView方法里

final TextView contentView = (TextView) convertView.findViewById(R.id.content);
		final TextView showall = (TextView) convertView.findViewById(R.id.showall);
contentView.setText(content);
		contentView.post(new Runnable() {
			@Override
			public void run() {
				 int count = contentView.getLineCount();
				 if(count > 5)
				 {
					 contentView.setMaxLines(5);
					 contentView.refreshDrawableState();
					 Log.e("run()", count+"");
					 showall.setVisibility(View.VISIBLE);
				 }
			}
		});
		showall.setOnClickListener(new OnClickListener() {
			public void onClick(View v){
				 contentView.setMaxLines(1000);
				 contentView.refreshDrawableState();
				 showall.setVisibility(View.GONE);
			}
		});

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧