文档章节

用TextView动态显示文件内容

Znic
 Znic
发布于 2015/12/27 17:12
字数 261
阅读 53
收藏 0

1. 设置布局文件activity_textview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/content"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:fadeScrollbars="false" />

</LinearLayout>

    android:scrollbars="vertical"为TextView设置滚动条,android:fadeScrollbars="false"设置滚动条不隐藏。也可用         ScrollView实现。

    另外还要在Activity中调用setMovementMethod方法。

2. LogActivity

public class LogActivity extends Activity{
	private TextView mTextView;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_textview);
		mTextView = (TextView)findViewById(R.id.content);
		mTextView.setMovementMethod(ScrollingMovementMethod.getInstance());
		new DataThread().start();
	}
	
	private Handler mHandler = new Handler() {
		public void handleMessage(android.os.Message msg)
		{
			mTextView.setText((String)msg.obj);
		}
	};
	
class DataThread extends Thread{

	@Override
	public void run() {
		
		while(true)
		{
			try
			{
				BufferedReader in = new BufferedReader(new FileReader("/sdcard/log"));
				String line;
				StringBuilder sb = new StringBuilder();
				while((line = in.readLine()) != null)
				{
					sb.append(line+'\n');
				}
				mHandler.sendMessage(mHandler.obtainMessage(0, sb.toString()));
				in.close();
				
				Thread.sleep(2000);
			} catch(IOException e){
				e.printStackTrace();
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}
}

    这里要不断的获取文件内容更新UI,所以文件的操作另外开个线程运行,利用Hander发送数据到UI线程。


© 著作权归作者所有

下一篇: 代码优化
Znic
粉丝 1
博文 6
码字总数 1888
作品 0
深圳
程序员
私信 提问
Android学习笔记——Activity(一)

1.什么是Activity (1)Activity是一个应用程序组件 (2)为应用程序提供一个可视化页面 (3)用户通过此页面与应用程序交互 2.启动Activity的流程 (1)主配置文件:Manifest.xml(各种组件...

uug
2018/11/05
0
0
Android 利用addView 动态给Activity添加View组件

本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法。 1. addView方法简介 在Android 中,可以利用排版Vie...

小湘西
2015/09/25
0
0
Android LayoutInflater的使用

Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。 LayoutInflater的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化!而 find...

子曰疯
2013/09/03
0
2
为ListView增加Header (可动态修改其中的内容)

为ListView增加Header (可动态修改其中的内容) 博客分类: Android入门教程 Listview增加Header 为ListView增加Header (可动态修改其中的内容) 1.新建一个Layout: demolistitemheaderview.xm...

我是小强
2014/02/21
0
0
TextView滚动功能的实现

滚动条大家肯定不陌生的,当然这里说的不是ScrollView,在很多的时候需要一个TextView来显示很多内容,但是内容太多了超过了TextView的显示范围,这个时候就需要TextView里面的内容滚动起来。...

Koon.LY
2012/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java的战争

本文来自微信公众号: 金捷幡(ID:jin-jiefan) ,作者:金捷幡,封面:拉里·埃里森(东方IC) 2019年5月,彻底撕破脸的特朗普掀起对华为的战争,谷歌被迫吊销了华为的Android授权。开源软...

Java领航员
57分钟前
4
0
超详细的LM3414MRX/NOPB规格参数介绍就在这里

超详细的LM3414MRX/NOPB规格参数介绍就在这里 描述 LM3414和LM3414MRX/NOPB是具有1-A 60 W(1)共阳极功能的恒流降压LED驱动器。它们适用于驱动单串3-W HBLED,效率高达96%。它们可接受4.5...

不能吃肉的仙女
今天
2
0
Eclipse国内镜像源配置方法

Table of Contents 我们在国内从官网下载Eclipse以及插件非常慢,那么,有没有方法变快呢? 有,那就是使用国内的公开镜像源替换官方源。 1 下载Eclipse 首先,我们看一个链接地址: http:/...

求神
今天
7
0
java 请求服务

一.第一种基于java web http 请求服务,必须用tomcat 容器启动才能对外提供服务 在maven 工程中pox 文件导入jar <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>h......

zaolonglei
今天
6
0
HDFS工作机制——自开发分布式数据采集系统

需求描述: 在业务系统的服务器上,业务程序会不断生成业务日志(比如网站的页面访问日志) 业务日志是用log4j生成的,会不断地切出日志文件,需要定期(比如每小时)从业务服务器上的日志目...

须臾之余
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部