“表达式的类型必须是数组类型,但它解析为TextView”

时间:2013-04-18 03:09:48

标签: java android arrays

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

1 个答案:

答案 0 :(得分:0)

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