TextView SetText时间

时间:2016-11-13 08:40:08

标签: android layout textview

我写了一个简单的android代码,只需将文本设置为android textView就像这样:

String all = "";
String sample = "a sample text...";

long start = SystemClock.currentThreadTimeMillis();
for(int i=0; i<20; i++) {
    all += sample;
    txtContent.setText(all);
}
long end = SystemClock.currentThreadTimeMillis();

Log.d("set text time", "time: " + (end - start));

txtContent是我的布局上的TextView,它位于一个简单的LinearLayout

我在两种情况下运行此代码:

txtContent layout_width = "wrap_content"

layout_width = "match_parent"(或任何const值)

令人惊讶的是,当我设置layout_width = "wrap_content"时,完成循环所需的时间比设置layout_width = "match_parent"或任何const值要少得多。

有人可以帮助我找出这种情况发生的原因吗?

2 个答案:

答案 0 :(得分:0)

使用parent linearlayout

并将您的textview放在linearlayout

parent linearlayout应该将内部文本视图集中在那里,

<LinearLayout
        android:layout_width="match_parent"
        android:gravity="center"
        android:id="@+id/linearLayout">

答案 1 :(得分:0)

所以..你应该做那样的事,

int lastSeconds = 0;
Handler handler = new Handler();
                    handler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                             lastSeconds+=1;
                             textView.setText(lastSeconds)
                        }
                    }, 1000);

或者你可以,

textView.post(Runnable...)

另外,你应该像字符串格式一样制作“分钟:秒”..

另一种方法是,你可以使用天文台

如果我理解你的问题......