无法在数组类型上调用getRecords(int)

时间:2013-04-18 04:48:52

标签: java android arrays int

无论我尝试什么,我似乎无法通过此错误 - 我已经尝试删除int值(因为它似乎我应该)但是这只会导致更多的编译器错误。

有什么建议吗?

 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.setText(new String(msg.getRecords(1).getPayload()));
        beamMsg2.setText(new String(msg.getRecords(1).getPayload()));
    }}

1 个答案:

答案 0 :(得分:0)

快速浏览一下位于here的文档,您的语法就会消失。

要引用特定记录索引,代码应为以下

msg.getRecords()[1].getPayload()

虽然也可能存在逻辑错误,您应该像这样调用msg[i]

msg[i].getRecords()[1].getPayload()