Android - 更新大量文本视图

时间:2013-10-08 10:19:03

标签: java android performance textview

我的视图中有大约100个文本视图,它们都显示了特定于其id的值。该值是从程序中的另一个类设置的。

我正在寻找一个好的解决方案,如何对此进行编程,而不会拖延程序或将其充满内存。

在文本视图中设置普通文本:

public void setSpecificTextView(string myString)
{
     TextView text = (TextView) findViewById(R.id.textView1);
     text.setText(myString);
}

但是我想要100个设置函数,每个函数每次都需要检索一个textView。好像编程糟糕。

还考虑将textviews分配为私有属性,但也看起来很混乱。 textview的列表或arraylist怎么样?但是如何知道list / arraylist中的哪个项属于哪个方法

但由于textviews具有非常具体的名称,我该如何处理这个最佳方式?

编辑:我的所有文字视图都放在不同的tableLayouts和TableRows

5 个答案:

答案 0 :(得分:1)

如果TextView全部属于共同ViewGroup,您可以使用getChildCount()getChildAt()来遍历TextView并设置每个findViewById文字,而不是使用for(int i = 0; i < parent.getChildCount(); i++){ View child = parent.getChildAt(i); if(child instanceof TextView){ # ... do something with the text view } } 找到每一个。

这样的事情:

{{1}}

答案 1 :(得分:0)

制作像

一样的textview数组
 TextView[] textView = new TextView[]{R.id.textview1, ......},

答案 2 :(得分:0)

将listview与自定义适配器一起使用,适配器易于更新。

答案 3 :(得分:0)

据我所知,您可以使用Hashmap存储文本视图。通过这样做,您将能够快速获得所需的textview并进行必要的更新。这是你在找什么?

答案 4 :(得分:0)

listview将为您提供免费滚动,这听起来像您将需要并使用onitemclicklistner而不是大量的onclicklisteners,因此您可以将textedit视图视为一个组而不是单独处理。我认为你应该在YouTube上找一个名为slidenerd的人。这个安卓视频数字80很棒。他说话很快并且有一个重音但听起来你需要的是一个listview适配器或baseadapter,如果你有更复杂的需求检查出来。

相关问题