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

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

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

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


但是我想要100个set函数,每个函数每次都需要检索一个textView。好像是不好的编程。

还考虑过将textviews分配为私有属性,但看起来也很混乱。文本视图的列表或数组列表如何?但是如何知道列表/数组列表中的哪个项目属于哪个方法

但是由于文本视图具有非常特定的名称,我该如何处理最佳方法?

编辑:我所有的textviews放入不同的tableLayouts和TableRows

最佳答案

如果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
    }
}

关于java - Android-更新了大量的Textviews,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19244994/

10-10 19:48