我正在编写一个Android应用程序,它可以读取单个文本文件并将其显示在TextView.
我现在正在做的是将整个文件读入一个字符串(使用BufferedReader和StringBuilder)并在TextView使用时显示它setText(string).一个700KB的文本文件可能需要大约2到3秒才能在屏幕上显示.
但我在市场上使用了其他一些电子书阅读器,他们几乎可以立即显示相同的文字.谁知道我怎么能做到这一点?
谢谢.
编辑:许多建议ListView,但它不适用于我的特定情况.这是我对其中一个答案的回复:... [ListView]由于某些原因对我不起作用.(1)为了使Listview看起来像TextView,我们必须在新行字符上打破文本.如果我加载一个大段落,它就像加载TextView一样慢.(2)由于ListView仅测量屏幕上的项目,因此我无法提前知道整个文本的总"页面"或"高度".
我建立一个应用程序的姜饼了minSdkVersion=10,并targetSdkVersion=17在我的AndroidManifest.xml.
我知道在调用之前我应该检查API是否受支持,例如:
private void removeRule(RelativeLayout.LayoutParams params, int rule) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { // API 17
params.removeRule(rule);
} else {
params.addRule(rule, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
但有时我会忘记/或者不知道我正在调用更高级别的API,偶尔也会崩溃我的程序NoSuchMethodError.
所以在我发布我的应用程序之前,我总是将我的项目设置为使用Android SDK 2.3.3,并确保我没有进行非法的方法调用(例如,我得到的所有错误都包含在if检查android SDK版本的语句中),然后将SDK设置回4.2.2.
有没有更好的方法来确保在不切换SDK的情况下不会调用不支持的API?
(PS我正在使用IntelliJ)

我目前正在使用带有2个底部对齐单元格的表格.我对表解决方案没问题,但只是想知道这是否可行(只是css和html,没有javascript).
要求:
*文本和图像的大小未知,但两者的组合宽度不会超过包含元素的宽度.(例如,如果我以后想要更改图像或文本,我不想深入到ccs文件中)
*图像与左边对齐,文本(实际上是水平列表)与右边对齐.
编辑:回应科斯,
我有一个像这样的html块.根据div的背景颜色判断,外部div不包含内部div,除非我从内部div中删除"float:left",或者将"float:left"添加到外部div.这是为什么?http://jsbin.com/ihiqoz/2/edit
<div style="width:900px; background-color:#1EFF1E">
<p>outside</p>
<div style="float:left; width: 25%; background-color:#BD78C8">
<p>inside</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) android ×2
browser ×2
css ×2
html ×2
android-view ×1
css-tables ×1
java ×1
lint ×1
paging ×1
textview ×1