我在编译一些源代码时出现问题,我收到一条错误,指出“表达式的类型必须是数组类型,但它已解析为TextView”我试图在两者上查找谷歌和StackOverflow和SO只返回一个(未答复的)结果。
有人可以指出我正确的方向,还是举例说明如何解决这个问题?
非常感谢。 - 蒂姆
我在以下两行中有两个这样的错误实例:
beamMsg[i].setText(new String(msg[i].getRecords()[1].getPayload()));
beamMsg2[i].setText(new String(msg[i].getRecords()[1].getPayload()));
消息来源:
void processIntent(Intent intent) {
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(
NfcAdapter.EXTRA_NDEF_MESSAGES);
// only one message sent during the beam
NdefMessage[] msg = new NdefMessage[rawMsgs.length];
for (int i = 0; i < msg.length; i++) {
msg[i] = (NdefMessage) rawMsgs[i];
// record 0 contains the MIME type, record 1 is the AAR, if present
beamMsg[i].setText(new String(msg[i].getRecords()[1].getPayload()));
beamMsg2[i].setText(new String(msg[i].getRecords()[1].getPayload()));
}}
答案 0 :(得分:0)
你试图在对象beamMsg [i]上调用setText()方法,编译器说beamMsg是TextView而不是TextView []数组。这同样适用于beamMsg2