0

我在编译一些源代码时遇到问题,我收到一条错误消息,指出“表达式的类型必须是数组类型,但它解析为 TextView”我试图在 Google 和 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()));
    }}
4

1 回答 1

0

您试图在对象 beamMsg[i] 上调用 setText() 方法,编译器说 beamMsg 是 TextView 而不是 TextView[] 数组。同样适用于 beamMsg2

于 2013-04-18T03:26:31.357 回答