Android - 动态地将TextView添加到ListView

时间:2012-05-09 14:28:53

标签: android listview textview

所以我试图将TextView添加到JAVA中的主ListView中, 我遇到了一些问题...

而不是给我TextView的价值,我得到的是一些随机的垃圾:

 android.Widget.TextView@somerandomnumbersandtext

我正在添加这样的textview:

        adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
    setListAdapter(adapter);
    TextView tv = new TextView(SpellCast.this);
    TextView tvC = new TextView(SpellCast.this);
    tv.setText(name[i]);
    tvC.setText(Integer.toString(current[i]));
    tvC.setId(i);
    tv.setGravity(Gravity.LEFT);
    tvC.setGravity(Gravity.RIGHT);
    listItems.add(tv + "");
    adapter.notifyDataSetChanged();

为什么这不起作用?

谢谢:)

1 个答案:

答案 0 :(得分:1)

您应该添加字符串而不是文本视图。

当你致电adapter=new ArrayAdapter<String>时,你说“我正在定义一个新的ArrayAdapter,它将包含'String'类型的项目”

因此,当您尝试将项目添加到列表视图时,它需要一个字符串。当你添加一个textview时,它只是在textview上执行toString(),这就是你获得那个时髦文本的原因。

而是通过调用

将文本直接添加到列表视图中
listItems.add(name[i]);