用TextView动态显示文件内容
2015-12-27 17:13
225 查看
1. 设置布局文件activity_textview.xml
android:scrollbars="vertical"为TextView设置滚动条,android:fadeScrollbars="false"设置滚动条不隐藏。也可用 ScrollView实现。
另外还要在Activity中调用setMovementMethod方法。
2. LogActivity
这里要不断的获取文件内容更新UI,所以文件的操作另外开个线程运行,利用Hander发送数据到UI线程。
<?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线程。
相关文章推荐
- 破解官网最新版phpstorm10.0.1
- 【翻译自mos文章】job 不能自己主动运行的解决方法
- 图像处理算法基础(九)---求最佳分割门限并分割
- 杭电 hdu2955 0-1背包 Robberies
- 30.iPhone的电源传感器简单介绍
- jfinal-utils
- [fMRI手册]Handbook of functional MRI Data Analysis—Chapter 5
- Openwrt编译问题:Libnettle 3.1 was not found.
- Java基础之数据类型
- 29.iPhone距离传感器的简单使用
- 【机器学习】Softmax Regression简介
- lab 1实验报告
- 字符编码简介
- 编译C51项目的bat脚本
- Objc 精选 - 3D Touch 之 Peek & Pop 操作
- asp.net项目页面间传值的几种方式(部分转载)
- UVa 1433 - Aerodynamics
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
- LeetCode Find Minimum in Rotated Sorted Array
- 3D Touch详解