Android-向ListView动态添加文本视图

Android-向ListView动态添加文本视图,android,listview,textview,Android,Listview,Textview,所以我试图在JAVA中将TextView添加到我的主ListView中, 我遇到了一些问题 我得到的不是TextView的值,而是一些随机的垃圾,比如: android.Widget.TextView@somerandomnumbersandtext 我正在添加文本视图,如下所示: adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);

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

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

 android.Widget.TextView@somerandomnumbersandtext
我正在添加文本视图,如下所示:

        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();
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,listItems);
setListAdapter(适配器);
TextView tv=新的TextView(SpellCast.this);
TextView tvC=新的TextView(SpellCast.this);
tv.setText(名称[i]);
tvC.setText(Integer.toString(当前[i]);
tvC.setId(i);
电视。设置重力(重力。左);
tvC.setGravity(Gravity.RIGHT);
添加(电视+“”);
adapter.notifyDataSetChanged();
为什么这不起作用


谢谢:)

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

当您调用
adapter=new ArrayAdapter
时,您的意思是“我正在定义一个新的ArrayAdapter,它将包含“String”类型的项”

因此,当您尝试将项目添加到listview时,它需要一个字符串。当您添加textview时,它只是在textview上执行一个
toString()
,这就是为什么您会得到那个时髦的文本

相反,通过调用

listItems.add(name[i]);

但我需要它有一个ID,以便以后我可以更改该字段,尤其是!适配器中的每一行都有一个唯一的ID(通常是其位置)。您可以通过调用long id=adapter.getItemId(position)来实现这一点;谢谢如何添加这样的子文本?使用ArrayAdapter的通用实现是不可能的。ArrayAdapter仅允许设置1个字段。此时,您需要实现自己的自定义适配器这里有一个关于如何创建自定义适配器的非常好的示例