您好TextView有问题。这是我的代码
final TextView username = (TextView) _v.findViewById(R.id.username);
final LinearLayout linear7 = (LinearLayout) _v.findViewById(R.id.linear7);
final TextView date = (TextView) _v.findViewById(R.id.date);
final TextView msg = (TextView) _v.findViewById(R.id.msg);
final TextView username2 = (TextView) _v.findViewById(R.id.username);
final LinearLayout linear72 = (LinearLayout) _v.findViewById(R.id.linear7);
final TextView date2 = (TextView) _v.findViewById(R.id.date);
final TextView msg2 = (TextView) _v.findViewById(R.id.msg);
final LinearLayout linear999 = (LinearLayout) _v.findViewById(R.id.linear999);
final LinearLayout linear9992 = (LinearLayout) _v.findViewById(R.id.linear9992);
username.setText(map1.get((int)_position).get("name").toString());
msg.setText(map1.get((int)_position).get("msg").toString());
date.setText(map1.get((int)_position).get("date").toString());
username2.setText(username.getText().toString());
msg2.setText(msg.getText().toString());
date2.setText(date.getText().toString());
如您所见,username2应与用户名具有相同的文本。但是,它只有我在设计师中给出的文字。请帮忙。
答案 0 :(得分:6)
看一下你的身份TextView
它是一样的。将其更改为在第二个TextView
final TextView msg = (TextView) _v.findViewById(R.id.msg);
final TextView msg2 = (TextView) _v.findViewById(R.id.msg); <--- change this ID
答案 1 :(得分:5)
final TextView username = (TextView) _v.findViewById(R.id.username);
final TextView username2 = (TextView) _v.findViewById(R.id.username);
他们有相同的视图ID。您必须更改username2视图ID。
答案 2 :(得分:1)
我只是将两个不同用户(Maxitors和Mike)提到的两个正确问题合并为一个答案:
两个对的Textview都是相同的元素
这会导致它们在对它们进行函数调用时引用相同的元素。例如,将username2的文本设置为username的文本将没有明显的效果,因为您只需将元素R.id.username的文本设置为自身。
要解决此问题,您需要将Username2和msg2分配给正确的ID,无论它们是什么。 (看看你的命名方案,我怀疑它们是R.id.username2和R.id.msg2)
答案 3 :(得分:-1)
我认为您无法更改文本,因为您将其声明为最终变量。在什么上下文中,您需要将此代码块声明为final。不用我的第一个建议就试一试。