小编Ray*_*hou的帖子

Android - 如何在TextView中高效加载大量文本?

我正在编写一个Android应用程序,它可以读取单个文本文件并将其显示在TextView.

我现在正在做的是将整个文件读入一个字符串(使用BufferedReaderStringBuilder)并在TextView使用时显示它setText(string).一个700KB的文本文件可能需要大约2到3秒才能在屏幕上显示.

但我在市场上使用了其他一些电子书阅读器,他们几乎可以立即显示相同的文字.谁知道我怎么能做到这一点?

谢谢.

编辑:许多建议ListView,但它不适用于我的特定情况.这是我对其中一个答案的回复:... [ListView]由于某些原因对我不起作用.(1)为了使Listview看起来像TextView,我们必须在新行字符上打破文本.如果我加载一个大段落,它就像加载TextView一样慢.(2)由于ListView仅测量屏幕上的项目,因此我无法提前知道整个文本的总"页面"或"高度".

java paging android textview android-view

14
推荐指数
1
解决办法
5914
查看次数

如何确保Android中未调用不受支持的(更高级别)API?

我建立一个应用程序的姜饼了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)

android lint intellij-idea

8
推荐指数
1
解决办法
1580
查看次数

如何底部对齐DIV元素中的两个元素?

在此输入图像描述

我目前正在使用带有2个底部对齐单元格的表格.我对表解决方案没问题,但只是想知道这是否可行(只是css和html,没有javascript).

要求:
*文本和图像的大小未知,但两者的组合宽度不会超过包含元素的宽度.(例如,如果我以后想要更改图像或文本,我不想深入到ccs文件中)
*图像与左边对齐,文本(实际上是水平列表)与右边对齐.

编辑:回应科斯,

  • 文本和图像的大小是动态的,无论是高度还是宽度,但两个元素的组合宽度不会超过包含元素的宽度.
  • 图像和文字应该是底部对齐的
  • 包含元素应紧密贴合最高元素.

html css browser css-tables

6
推荐指数
1
解决办法
6815
查看次数

除非浮动,为什么div背景不包含内部元素?

我有一个像这样的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)

html css browser

1
推荐指数
1
解决办法
1367
查看次数